Qt-报错 QNativeSocketEngine::joinMulticastGroup() was not called in QAbstractSocket::BoundState


相关资料:

https://blog.csdn.net/xinguhong4645/article/details/99581508

https://blog.csdn.net/wg8826/article/details/80818673

 

CSDN:编写Qt udpsocket网络编程组播时候提示
:报错 QNativeSocketEngine::joinMulticastGroup() was not called in QAbstractSocket::BoundState
原因:需要将端口号选择可以复用。修改代码如下

udpsocket->bind(QHostAddress::AnyIPv4,8888);
1
改为

//绑定
udpsocket->bind(QHostAddress::AnyIPv4,8888,QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint);
1
2
即可。

-------------------------------------------------------------------------

QUdpSocket *revWBudp;

revWBudp = new QUdpSocket;

//绑定本地端口

revWBudp->bind(QHostAddress::AnyIPv4, multicastPort, QUdpSocket::NotShareAddress);

//加入组播组

bool result = revWBudp->joinMulticastGroup(QHostAddress(multicastIP));//这行报错

QUdpSocket::NotShareAddress
改为
QUdpSocket::ShareAddress即可
结果如下:
QUdpSocket *revWBudp;

revWBudp = new QUdpSocket;

//绑定本地端口

revWBudp->bind(QHostAddress::AnyIPv4, multicastPort, QUdpSocket::ShareAddress);

//加入组播组

bool result = revWBudp->joinMulticastGroup(QHostAddress(multicastIP));

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM