首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UdpClient JoinMulticastGroup多个NIC问题

UdpClient JoinMulticastGroup多个NIC问题
EN

Stack Overflow用户
提问于 2014-08-15 14:50:02
回答 1查看 1.2K关注 0票数 0

我有一个问题,只有当我禁用计算机条1上的所有网卡时,UDPClient接收才能工作。如果我使用的网卡超过一张,它就会永远阻塞。我能看到wireshark上的数据,所以我可以在那里接收到。

无论如何,我知道多个NIC存在一个问题,但建议的解决方案是在UdpClient构造函数中设置一个特定的UdpClient,并使用您希望使用的NIC的IP。代码如下:

代码语言:javascript
复制
public void ReceiveData()
{
    try
    {
        receiveClient = new UdpClient(new IPEndPoint(AConfiguredIPAddressofOneOfMyNICs, port));                                
        receiveClient.JoinMulticastGroup(IPAddress.Parse("240.0.0.1"));

        IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 0);

        Byte[] receiveBytes = receiveClient.Receive(ref endPoint); // blocks forever

人们有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-18 09:27:55

我发现了问题所在。您需要指定希望用于接收JoinMulticastGroup调用中的数据包的NIC的ip地址。所以这个:

代码语言:javascript
复制
receiveClient.JoinMulticastGroup(ConfigFile.MulticastIP);

变成这样:

代码语言:javascript
复制
receiveClient.JoinMulticastGroup(ConfigFile.MulticastIP, AConfiguredIPAddressofOneOfMyNICs);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25328644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档