Qt那些事0.0.27之QUdpSocket组播通讯

coding

刚刚写的因为网断了就丢了,不想写了。


关于组播通信失败,大概率因为多网卡,通过ipconfig可以查看具体网卡情况。

C:\WINDOWS\system32>ipconfig

无线局域网适配器 WLAN:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::--------78%18

IPv4 地址 . . . . . . . . . . . . : 192.168.3.165

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . : 192.168.3.1

以太网适配器 本地连接* 12:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::---------620%3

IPv4 地址 . . . . . . . . . . . . : 3.3.0.154

子网掩码 . . . . . . . . . . . . : 255.255.0.0

通过wireshark抓包发现,走组播的数据包是通过3.3.0.154接口发出。因此,查询相关知识,window系统,网络路由是自动选择,因此最后通过修改路由表解决此问题。

C:\WINDOWS\system32>route print

===========================================================================

接口列表

19...8c------- 96 ......Realtek PCIe GBE Family Controller

4...0a -------04 ......VirtualBox Host-Only Ethernet Adapter

...

18...70 -------- e9 ......Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC

3...00-------48 ......Iceflow Network Adapter

===========================================================================

IPv4 路由表

===========================================================================

活动路由:

网络目标 网络掩码 网关 接口 跃点数

0.0.0.0 0.0.0.0 192.168.3.1 192.168.3.165 50

3.3.0.0 255.255.0.0 在链路上 3.3.0.154 311

3.3.0.154 255.255.255.255 在链路上 3.3.0.154 311

3.3.255.255 255.255.255.255 在链路上 3.3.0.154 311

192.168.56.1 255.255.255.255 在链路上 192.168.56.1 281

...

255.255.255.255 255.255.255.255 在链路上 3.3.0.154 311

255.255.255.255 255.255.255.255 在链路上 192.168.56.1 281

255.255.255.255 255.255.255.255 在链路上 192.168.3.165 306

===========================================================================

通过route add,新增一条路由信息,确定发往224.1.1.1(掩码240.0.0.0)使用网关192.168.3.1即可。在先前的路由表中会多一条记录。只需要软件重启,不需要重启计算机。

设计组播网段为224.1.1.1,

C:\WINDOWS\system32>route add 224.0.0.0 mask 240.0.0.0 192.168.3.1 -p

操作完成!

如果mask(掩码)没有计算正确,计算机(有可能)会自动添加所有接口,需要使用route delete 224.0.0.0删除掉。如果正确,会如下新增一条信息。

   192.168.56.255  255.255.255.255            在链路上      192.168.56.1    281

224.0.0.0 240.0.0.0 192.168.3.1 192.168.3.165 51

255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331

参考链接:多网卡指定网卡进行UDP通信(添加静态路由解决双网卡问题 )全记录

以上是 Qt那些事0.0.27之QUdpSocket组播通讯 的全部内容, 来源链接: utcz.com/z/510197.html

回到顶部