Windows 2008 R2中缺少多播消息

时间:2015-03-03 19:11:20

标签: c++ windows multicast packets

我有几个应用程序通过多个渠道发送多播消息。大多数频道每秒发布数千条消息。我遇到问题的频道(尽管它可能也会影响其他频道)在每分钟的顶部发布大约8k条消息。大多数情况下,所有消息都会到达。有时,应用程序层中缺少一些或许多,但Wireshark捕获它们(排除网络/发送问题)。我不相信它的应用程序有两个原因:1)我有两个完全独立的应用程序在运行,一个用C ++编写,另一个用C#编写,没有共享代码。两个应用程序总是接收/错过相同的消息数。 2)同样的两个应用程序,当它们在发布的同一台服务器上运行时,不会错过任何消息。因此,NIC和应用程序(即操作系统)之间似乎存在问题。网络和CPU利用率可以忽略不计(~5%)。

我们已经应用了此处描述的补丁http://support.microsoft.com/kb/2639824,但没有成功。

任何想法都会非常感激。

1 个答案:

答案 0 :(得分:0)

进一步研究后,找到了解决方案。首先,我发现我的一个假设(Wireshark看到数据包而我的应用程序没有)结果是假的。由于Wireshark也丢失了数据包,因此问题必须存在于上游,从NIC开始。在NIC上禁用中断调节后,问题就解决了。