c# Socket如何异步分批发送和接收数据包?

小妹现在在给公司做一个聊天软件,现在上线人数达到600以上,之前是使用同步方式,由于多客户端同时连接服务器,导致有些客户端收不到服务器回应,所以想改成异步连接,但是在处理... 小妹现在在给公司做一个聊天软件,现在上线人数达到600以上,之前是使用同步方式,由于多客户端同时连接服务器,导致有些客户端收不到服务器回应,所以想改成异步连接,但是在处理分批发送和接收大数据包时,不会处理分批接收,并且打包?请路过的大侠帮帮我!谢谢 展开
 我来答
zhao61
推荐于2016-05-15 · TA获得超过1459个赞
知道小有建树答主
回答量:1065
采纳率:0%
帮助的人:863万
展开全部
如果在同步的基础上去改,改动会比较大,因为同步的SOCKET通讯几乎不需要什么协议,而异步一般是需要一个简单的协议,并且复杂程度会高很多,因为异步本身就是不确定的。

我不太清楚你说的“处理分批发送和接收大数据包”是什么意思,我的理解就是用代码把数据一块一块的发送了然后再在目的端去重新组合,你的意思是一个SOCKET同时发消息传文件等等?(长连接,不可取,协议会变得非常复杂)我印象中C#是有异步的SOCKET可以直接用的,十分简单,可能需要改动一些结构。

不知道是否有用代码验证过发送的包是否出错(一般是需要的,在包的前面或者后面附一些BIT就足够了),如果想尽可能简单的修改,就还是多线程仍然采用同步的方式好了,SOCKET专用只维持短连接,监听的监听,发送的发送,接收的接收,处理的处理。如果需要提高程序的效率,搜索一下重叠IO,这个是高效率IO的不二选择。希望我没理解错
陈学阳
2010-10-11 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5546万
展开全部
web的
Reponse.Write("<script>window.alert(\"消息\")</script>");
winform
(MessageBox.Show("消息", "消息", MessageBoxButtons.YesNo) == DialogResult.Yes)

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式