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

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...

関連するディスカッションをいくつか見ました

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート