问题描述
最近碰到一个难题,我在PC上用C#编写的服务器(OS是windowsXP),arm平台的linux去嵌入式系统作客户端,客户端一直发数据包到服务器,当客户端数量较少时socket连接不容易断,但有时也会断,当客户端数量多时(如1,20几台),它们之间的连接经常中断,服务器端会出现"远程强制关闭一个现有连接"的异常,客户端会出现通讯链路不可用的错误.奇怪的是用一台LinuxPC作服务器又没有类似的事情发生,不解,而且我在windows上用win32编的程序也会发生中断.请问各位大侠?这是什么原因?我试了好像也不是windows对socket连接数的限制问题,我通过一个补丁修改了连接数,也有类似问题.
解决方案
解决方案二:
可能多半是它获取数据时不稳定了,少它好识别也相对稳定些,多了就不稳定了,你看看有没有别的办法解决了,我没试过
解决方案三:
是否设置了最大连接数,或者发送数据是否频繁,自己看看.
解决方案四:
防火墙看了没有
解决方案五:
客户端一直在发数据,不过20多台机器1秒钟的数据差不多才1M左右,缓存应该没问题的把。我把防火墙关了啊,我用EvID4226Patch.exe工具修改了连接数为512,另外我用2个交换机(16口的)时断的很频繁.
解决方案六:
我觉得断的很频繁可能是机器越多概率越大的原因,因为机器数量少时也是过一会就断。
时间: 2024-10-26 20:09:49