gpt4 book ai didi

qt4 - 使用 QUdpSocket 发送数据报

转载 作者:行者123 更新时间:2023-12-01 11:56:49 25 4
gpt4 key购买 nike

我正在尝试使用 QUdpSocket 发送数据报。以下是我使用的代码:

udpSocket = new QUdpSocket(this);
QByteArray datagram = "Message";
udpSocket->writeDatagram(datagram.data(), datagram.size(), QHostAddress::Broadcast, 45454);

现在,如果我在一台只有一个网络适配器的计算机上运行它,它似乎可以正常工作。但是,如果有多个适配器,我需要能够控制哪个用于发送数据报。我发现如果我按如下方式绑定(bind)套接字:

udpSocket->bind(QHostAddress("192.168.1.104"), 45454);

然后我可以强制在与该 IP 关联的本地网络上发送数据报(否则它似乎是随机选择一个)。但是,“绑定(bind)”函数设置套接字来监听数据包,目前我对此并不感兴趣。这是控制使用哪个适配器的正确方法,还是有更直接的方法来做到这一点?

谢谢

最佳答案

你需要这样的东西

QHostAddress myBroadcastAddress = QHostAddress("192.168.255.255");
udpSocket->writeDatagram(datagram.data(),datagram.size(), myBroadcastAddress , 45454 )

这将发送 udp 广播数据包。

关于qt4 - 使用 QUdpSocket 发送数据报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com