2 u011562740 u011562740 于 2016.03.01 14:12 提问

js客户端与c#的后台服务进行websocket通信。后台服务对于多帧接收的粘包等问题。

客户端网页是纯的javascript写的,后台服务是c#语言写的。
于是,用websocket通信的时候问题就来了,后台服务在接收客户端网页的多帧数据的时候,出现了粘包问题。
具体来说就是:
1、后台服务使用异步的
client.BeginReceive(RecvData, 0, RecvData.Length, SocketFlags.None,new AsyncCallback(AcceptCallBack), state);
来做接收;
2、接收的RecvData是byte[],其长度肯定够的;
3、接收过程中,有一次接收到的数据长度A,和将其当做一帧来解释得到的长度B(一帧的总长度)不一致。长度A比长度B大。

面对这种情况,个人是有代码上的处理办法。但是,如果另外还有丢包、失序的问题,那就没招了。

求各位大大提个解决思路

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.08 12:59
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!