0

我有一个QUdpSocket用于发送广播数据包的应用程序。发送数据包的机器有几个网络接口。

不幸的是,我无法弄清楚如何QUdpSocket使用正确的网络接口。是否有一个选项可以让我准确指定用于发送数据包的接口?

4

2 回答 2

1

您实际上是在绑定函数的第一个参数地址中选择要监听的网络。例如,如果您选择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)表示任何本地地址都可以接受。

于 2015-10-18T20:57:30.603 回答
0

每个子网都有自己的广播地址。因此,我认为您可以“直接”将广播数据包发送到 10.255.255.255 或 192.168.255.255 等地址。

于 2012-06-19T08:08:21.327 回答