在某些Windows机器上,我看到一个多播socket.close调用大约需要3分钟。
这在Java和.NET中可以在各种不同类型的NIC和Windows风格中重现。
它在大多数机器上都不具有可重现性,但具有它的机器似乎遵循相同的模式。 TTL> 1会导致3分钟的socket.close和任何TTL == 1似乎几乎立即关闭套接字。
我的问题是其他人是否看到此问题,有谁知道为什么会这样?
答案 0 :(得分:2)
我认为我已经解决了Socket.Close()
在使用多播TTL时需要3分钟完成的谜题> 1:
每次启动路由和RAS服务(RRAS)时都会发生此问题。
此KB条目解释了它并提供了一个修补程序:
http://support.microsoft.com/kb/2555948/en-us
在管理员资料外壳中使用netsh interface ipv4 set global multicastforwarding=disabled
会使Socket.Close()
时间恢复正常。
答案 1 :(得分:1)