Qt多网卡组播解决方法,含例程源码和说明文档
一、Qt组播实现起来比较简单,基本步骤是先绑定IP地址和端口,然后加入组播组,将网卡数据准备完成信号与一个数据接收处理的槽函数连接即可。但是如果计算机上多于两块网卡,就必须再增加两个步骤才行:使用setMulticastInterface设置组播网卡,然后加入组播的同时指定网卡joinMulticastGroup(groupAddr, lni[nIndex])。否则的话向组播地址发送数据时,对端的服务器程序就无法接收到数据。 1. 绑定IP地址和端口bind(QHostAddress::AnyIPv4, nPort, QUdpSocket::ShareAddress); 2. 设置组播网卡setMulticastInterface(lni[nIndex]); 3. 加入组播组并指定使用的网卡joinMulticastGroup(groupAddr, lni[nIndex]); 4.连接Socket数据准备完成信号与数据接收处理槽函数。