我正在尝试使用 QUdpSocket 发送数据报。以下是我正在使用的代码:
udpSocket = new QUdpSocket(this);
QByteArray datagram = "Message";
udpSocket->writeDatagram(datagram.data(), datagram.size(), QHostAddress::Broadcast, 45454);
现在,如果我在只有一个网络适配器的计算机上运行它,它似乎可以正常工作。但是,如果有多个适配器,我需要能够控制哪个用于发送数据报。我发现如果我按如下方式绑定套接字:
udpSocket->bind(QHostAddress("192.168.1.104"), 45454);
然后我可以强制在与该 IP 关联的本地网络上发送数据报(否则它似乎随机选择一个)。然而,'bind' 函数设置套接字来监听数据包,我现在对此并不感兴趣。这是控制使用哪个适配器的正确方法,还是有更直接的方法来做到这一点?
谢谢