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

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

学习是最好的投资!

répondre à tous(1)
PHPzhong

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

看到了一些相关的讨论

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!