客户端网页是纯的javascript写的,后台服务是c#语言写的。
于是,用websocket通信的时候问题就来了,后台服务在接收客户端网页的多帧数据的时候,出现了粘包问题。
具体来说就是:
1、后台服务使用异步的
client.BeginReceive(RecvData, 0, RecvData.Length, SocketFlags.None,new AsyncCallback(AcceptCallBack), state);
来做接收;
2、接收的RecvData是byte[],其长度肯定够的;
3、接收过程中,有一次接收到的数据长度A,和将其当做一帧来解释得到的长度B(一帧的总长度)不一致。长度A比长度B大。
面对这种情况,个人是有代码上的处理办法。但是,如果另外还有丢包、失序的问题,那就没招了。
求各位大大提个解决思路