我有一个QUdpSocket
用于发送广播数据包的应用程序。发送数据包的机器有几个网络接口。
不幸的是,我无法弄清楚如何QUdpSocket
使用正确的网络接口。是否有一个选项可以让我准确指定用于发送数据包的接口?
我有一个QUdpSocket
用于发送广播数据包的应用程序。发送数据包的机器有几个网络接口。
不幸的是,我无法弄清楚如何QUdpSocket
使用正确的网络接口。是否有一个选项可以让我准确指定用于发送数据包的接口?
您实际上是在绑定函数的第一个参数地址中选择要监听的网络。例如,如果您选择QHostAddress::AnyIPv4
它意味着无论从哪个接口(最好说是哪个 IP 地址)接收到数据包,程序都应该捕获它。否则,您可以输入应将数据包发送到的 IP 地址(或广播地址)。
为了调试和验证它,您可以使用netstat
列出开放端口,如下所述:
https ://superuser.com/questions/529830/get-a-list-of-open-ports-in-linux
在 netstat 命令的结果中,Local Address
是您要查找的内容,指定正在侦听的地址。
注意:本地地址中 localhost 的地址(例如:0.0.0.0 或 127.0.0.1)表示任何本地地址都可以接受。
每个子网都有自己的广播地址。因此,我认为您可以“直接”将广播数据包发送到 10.255.255.255 或 192.168.255.255 等地址。