c++ - websocket通信,收到的消息不完整的问题
PHPz
PHPz 2017-04-17 15:23:34
0
1
855

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本身是解决了粘包,半包的问题,并且这个问题不像以上的问题。

求解答:

PHPz
PHPz

学习是最好的投资!

全部回复(1)
PHPzhong

http://forum.cocos.com/t/webs...

看到了一些相关的讨论

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!