websocket通信,收到的消息不完整的问题

1.使用的Cocos2d-lua,使用websocket进行通信。
问题举例:

服务器像推送的A,B两条消息:
消息A: {
         protocolNum:11111,
         ranks: [
                  {
                    Id: 800,
                    Num: 1,
                    cName: LG,
                    score: 135275,
                    num_One: 1,
                    num_two: 0
                  },
                  {
                    Id: 999,
                    Num: 1,
                    cName: LG,
                    score: 135275,
                    num_One: 1,
                    num_two: 0
                  }
                ]
         }

消息B:

        {
            protocolNum:2222,
            surplus: 66150,
            lastRaise: 8700,
            isRound: false,
            isGame: false
        }         
        

客户端接受到的消息如下

       {
         protocolNum:11111,
         ranks: [
                  {
                    Id: 800,
                    Num: 1,
                    cName: LG,
                    score: 135275,
                    num_One: 1,
                    num_two: 0
                  },
                  --以下应为为b消息内容
                  {
                    protocolNum:22222,
                    surplus: 66150,
                    lastRaise: 8700,
                    isRound: false,
                    isGame: false
                   }  
                   
                   

现象就是A消息不全,且混入了部分B消息内容。

websocket本身是解决了粘包,半包的问题,并且这个问题不像以上的问题。

求解答:

阅读 5.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题