UDPClient 的奇特现象,实在搞不懂

我有个项目,设计了一个UDP服务端。

是通过UDPCLIENT 的一个实例(同一端口)提供收发服务。

当项目上线测试后,奇怪的现象发生。

如果重启过服务器的话,服务器可以运行一段较长时间无异常。

但一段时间之后,奇怪的事情来了。

1、例如之前有A\B\C等N个客户端已经连接到服务端,服务端一直持续为它们 提供服务,然后在正常运行一段时间后,ABC的数据都会变得不正常,服务端无法再正常解析数据提供服务了。客户数据是可以接收到,但已经不正确了。

2、然后更搞笑的是,如果有新入的连接(不同的IP),服务端却又能正常提供为该客户服务,但服务一段时间后,就会表现和ABC一样。

然后重复上面的两个问题 ,不断累积,反正有新客户(不同的IP)就正常服务,但不定什么时候就不正常了。

我的接收是通过异步BeginReceive投递的,而发送则是以阻塞方式Send

其中EndReceive也进行了线程同步, UDP的接收缓冲区我也设置得足够大了,TCP连接限制和端口可用数我也修改过,但问题依然无法解决。

让这个问题搞了几天了,希望大家能提供些思路和解决办法 ,真的古怪

原文地址:https://www.cnblogs.com/niuniu502/p/2335079.html