UDP服务器有时候收不到数据的问题?
我写了一个UDP的服务器和客户端,客户端每秒发送1k左右的数据。
现象是这样的,开启服务器,打开客户端发送数据,这时候服务器是收得到数据的。如果这是关闭服务器,让客户端继续发送数据大概5秒钟,然后关闭客户端。
再开启服务器,打开客户端发送数据,这时候服务器就会收不到数据。把服务器和客户端关闭一段时间后再开启,有时候服务器收得到数据,有时候收不到数据,这个情况是几乎是随机的,有时候在服务器代码里随便加一个空行编译一下就可以收到数据了。
如果服务器在收得到数据的情况下一直不关闭程序,这时候无论客户端关闭还是停止发送数据,只要再发送数据,服务器都可以收得到数据。
我想问的是,为什么当关闭服务器,而客户端继续发送数据几秒钟后,就一定会出现开启UDP服务器收不到数据的情况?这是什么引起的?要怎么解决?