win32下用socket写的一个udp服务器,为什么会1%左右的客户端隔段时间后就会连不上呢 我写了一个udp服务器,刚开始运行时还好好的,每个客户端都可以正常的连接上来,但是当服务端运行1~2天以后(或更长一段时间),发现总会有1%左右的客户端无法连上服务器(100台有1台,1000台有10台)。体现在:客户端往服务端发送udp数据,但是服务端就是检测不到。我是用WsaAsyncSelect的方式写的服务端的,不知道有没有人有遇到过这种情况。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 UDP本身就不可靠,中间中转的路由器越多,丢包可能就越多。 超时重发机制等等都有做了。我是怕是这个通信模型的缺陷造成的。因为服务端对于每个客户端的处理都是一样的,如果是程序逻辑上的问题,那么应该会有大部份的客户端出现问题,而不是现在的只有一小部分。这实在是很头疼,不知道为什么服务端运行几天后,会收不到一定比例的客户端的数据。 不知道换成Event模型会不会好点,记得以前老外写的一本书上有说过Event模型的性能各方面还是比较好的。有类似经验的兄弟说下,大致会有什么问题呢?也象arong1234说的,要你结合客户端、服务端和网络诸多因素调试的,我现在是有点晕了,呵呵 UDP本身没有重发机制,而丢包率会随网络的复杂程度增加而增加。---可增加重发机制另一方面,当服务器过于繁忙,新到的数据超出数据缓存也会发生丢包 --使用IOCP等技术改进模型 VC MFC 文件生成 写入 急:如何在基于对话框的工程中实现创建切分窗体!!! 关于CArray在release中出错的问题 怎么为对话框添加菜单 钩子无效求助 请问关于 acrobat 5.0 sdk的问题. 用计算机发送短信息有几种方法,先谢谢大家了。 我为什么这么贱,大家来骂我吧,或许我会好受一些 如何在IDE中缩进选中文本块? 求rijndael加密算法 求助:关于修改可执行文家图标的问题 请问如何实现当窗口大小发生改变的时候,窗口上的控件的位置相对改变?保持X/Y相对位置?请各位指点一下。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货