相關的職位之間的成功的TCP連接在服務器和客戶端
的帖子在這裏In UNIX forum介紹
服務器將繼續listeninig上的端口號。
服務器將接受客戶
connect()
請求使用accept()
。只要服務器接受客戶端請求,內核就會爲服務器分配一個隨機端口號碼send()
和,因爲服務器上的同一端口號不能用於發送和偵聽,而前一個端口仍然監聽新的連接
問題
我有一個服務器應用程序S
這是在端口18333不斷聽取(這實際上是bitcoind
testnet
)。當另一個客戶端節點C
在53446(隨機端口)上與它連接時。根據上面的帖子,S
將只能從端口53446.
發送/接收「C」的數據但是當我運行一個bitcoind
testnet
。這完全與其他節點通信,只需要在端口18333中使用一個套接字連接,而不需要另一個節點進行發送/接收。下面是片段,我甚至驗證了這一點
bitcoin-cli -testnet -rpcport=16591 -datadir=/home/user/mytest/1/
{
"id": 1,
"addr": "178.32.61.149:18333"
}
任何人都可以幫助我瞭解什麼是正確的工作在TCP套接字連接?
我不太清楚你在問什麼。您是否困惑源端口和目標端口? – CodeCaster
你能提供關於在一個簡單的客戶端 - 服務器應用程序中應該發生的事情的指針嗎?也許那麼,我會盡力與比特幣相匹配。 –
首先谷歌命中「tcp源目標端口」:http://stackoverflow.com/questions/21253474/source-port-vs-destination-port – CodeCaster