剛剛寫的因爲網斷了就丟了,不想寫了。
關於組播通信失敗,大概率因爲多網卡,通過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