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

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

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

求各位大大提个解决思路
...全文
407 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q114687576 2016-05-16
  • 打赏
  • 举报
回复
http://www.blue-zero.com/WebSocket/ 你可以来这里参考一下,这是用websocket 传输的数据,服务端C#开发。
灯蛾求索 2016-03-01
  • 打赏
  • 举报
回复
自顶一次,有大大懂么?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧