语境:我移植一个Linux Perl的应用C#,服务器监听UDP端口上,并通过一个单一的UDP套接字保持与远程客户端的多个并发的对话.在测试期间,我向udp服务器发送大量数据包,随机重启客户端以观察服务器注册新连接.问题是这样的:当我杀死一个udp客户端时,服务器上可能仍然存在发往该客户端的数据.当服务器尝试发送此数据时,它会返回icmp"无服务可用"消息,因此套接字上发生异常.
我不能再使用这个插座,当我尝试将C#异步处理器与插槽相关联,它抱怨例外,所以我必须关闭并重新打开服务器端口的UDP套接字.这是解决这个问题的唯一方法吗?肯定有一些"修复"udp套接字的方法,从技术上讲,UDP套接字不应该知道远程套接字的状态?
任何帮助或指针将不胜感激.谢谢.