首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt无法加入指定networkInterface的多播组

Qt无法加入指定networkInterface的多播组
EN

Stack Overflow用户
提问于 2020-02-28 22:38:10
回答 1查看 484关注 0票数 0

我在MACOS10.15上使用QT5.6.3。我有两个以太网接口。一个是en0,另一个是en6。En0的IP是192.168.10.199,EN6的IP是192.168.1.123。现在我需要从en0 .the多播组地址239.255.255.251接收多播,多播端口为47810。以下是我的简化代码:

代码语言:javascript
复制
   groupAddress = QHostAddress("239.255.255.251");
   QNetworkInterface _interface = QNetworkInterface::interfaceFromName("en6");
   udpSocket = new QUdpSocket(this);
   udpSocket->bind(QHostAddress::AnyIPv4, 47810, QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint );
   //I am sure the _interface is en6
   udpSocket->setMulticastInterface(_interface);
   udpSocket->joinMulticastGroup(groupAddress,_interface));

但是,我使用netstat命令,我发现en0加入了组播组,而不是我指定的en6

代码语言:javascript
复制
IPv4 Multicast Group Memberships
Group                   Link-layer Address  Netif
224.0.0.251             <none>              lo0
224.0.0.1               <none>              lo0
**239.255.255.251       1:0:5e:7f:ff:fb     en0**
224.0.0.1               1:0:5e:0:0:1        en0
224.0.0.251             1:0:5e:0:0:fb       en0
224.0.0.251             1:0:5e:0:0:fb       en6
224.0.0.1               1:0:5e:0:0:1        en6

如何让en6像joinMulticastGroup一样加入组播组.It接口不起作用。请帮帮我,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-29 15:23:56

这是Qt5.6.3的bug。此错误已在5.11或更高版本中修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60453908

复制
相关文章

相似问题

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