[問題] 關於UDP socket的bind
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
visual studio 2010
問題(Question):
最近在研究透過STUN穿透NAT的方法
看了一些client端的code後,自己去練習後卻有一些問題
目前問題是我在做單機測試時候
程式A可以直接輸入目的地IP:port傳訊息給程式B
(本地IP:port1) (本地IP:port2)
卻無法收到程式B的回傳訊息,error好像發生在程式A的recvfrom
我在想問題會不會是在bind這個函式,但對它沒有很熟
只會使用它且知道tcp的server/client程式都會在server端綁定一個port
但我不懂為什麼udp需要bind這個動作
我想請教各位
兩個client想要溝通是否還需要對port做bind?
如下面的流程圖
流程圖一
UDP client A UDP client B
socket() socket()
| |
bind() bind()
| |
sendto() --------------> recvfrom()
↑ ↓
recvfrom() <-------------- sendto()
或者是可以改成這樣
流程圖二
UDP client A UDP client B
socket() socket()
| |
sendto() --------------> recvfrom()
↑ ↓
recvfrom() <-------------- sendto()
現在我的程式類似圖一狀況
麻煩各位幫我解答這個問題
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.135.46
※ 編輯: moumou219 來自: 1.169.135.46 (04/09 16:17)
推
04/09 23:40, , 1F
04/09 23:40, 1F
推
04/09 23:48, , 2F
04/09 23:48, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章