1. 程式人生 > 其它 >Qt 無線區域網內 UDP 廣播只能單向傳送或接收

Qt 無線區域網內 UDP 廣播只能單向傳送或接收

1. 實驗來源

《Qt Creator快速入門 第三版》第18章 18.3 UDP 實驗,udpsender(廣播) 和 udpreceiver。

2. 實驗配置

兩臺主機 PC1 和 PC2 接入同一無線路由器。

3. 測試

3.1 同一主機上測試傳送和接收

使用 udpsender 廣播,使用 udpreceiver 可以接收。

3.2 兩臺主機一接一發

PC1 和 PC2 分別使用 UDP 除錯助手監聽對方埠,相互發送和接收都正常。

PC1 使用 udpsender 廣播,PC2 使用 udpreceiver 可以接收。
PC2 使用 udpsender 廣播,PC1 使用 udpreceiver 無法接收。

4. 問題討論

為什麼兩臺主機無法進行雙向廣播?

來自網路的相關資訊:

  1. 禁用主機上的虛擬網路裝置;
  2. 兩臺主機埠號要一致;
  3. 防火牆;
  4. 有線網路可以廣播,無線網路只能進行 x.x.x.255 無法進行全域廣播;

所以,排除前三項列出的問題,問題應該出在無線路由器對全域廣播的限制上。也就是說通過無線路由器搭建的區域網無法進行廣播。至於有線區域網,因為沒有裝置沒有進行實驗。