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

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 학습자의 빠른 성장을 도와주세요!