看板 C_and_CPP 關於我們 聯絡資訊
各位大大好,想請問一下 假設我有兩台電腦 其中A電腦是固定IP為:101.1.1.1 然後在別的地方有一台網路分享器的固定IP假設是:202.2.2.2 接著B電腦透過此網路分享器得到的虛擬IP是:192.168.3.3 透過TcpSocket的機制,A電腦如果架TcpServer B電腦可以透過A的IP連到對方那裡 而A電腦就可以取得B電腦的TcpSocket,雙方確實可以互相溝通 但因為我實作的程式中,A電腦想傳一些像是聲音、視訊之類的到B電腦 我想到的就是用Udp來傳送這些資料 所以我在B電腦開啟了一個UdpSocket並監聽5000的Port 但問題就卡在這@@ 我在A電腦用UdpSocket傳送資料的時候, 並沒辦法傳送該資料到192.168.1.1:5000,畢竟這是虛擬IP 但我如果傳送到101.2.2.2:5000,對方也收不到 (無法設定對方分享器的Mapping) 想請問這樣的狀況該怎麼辦@@ 還是說這類情況的話,聲音、視訊之類的東西只能透過Tcp來傳送嗎? 拜託各位幫幫忙 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.64.91.67 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1465962932.A.8B1.html
fatrabitree: Hole punching 06/15 12:50
sosokill: router設定DMZ, Virtual Server 06/15 19:31
laladeer: 上網查DMZ設定 很簡單的 06/16 00:02
l321122: 這時候應該是B用udp主動向A連線,A就可以根據udp的source 06/16 01:00
l321122: IP把資料傳回給B 06/16 01:00
l321122: 這時候B的router會自動mapping,而不用做port forwarding 06/16 01:02
peilin0407: 了解了,感謝各位大大的幫忙,讓我學到了很多 06/16 20:28