2013-10-23 98 views
0

我們可以將多個端口分配給單個客戶端,即 一個端口用於發送數據,另一個端口用於接收同一個客戶端的數據? 是否有可能使用套接字通信?在套接字編程中將多個端口連接到單個客戶端

如果可能的話我們該如何在C#socket編程中實現?

+0

@MitchWheat - 下次不要麻煩評論,標記.. OP,是的,這是可能的,事實上,如果您連接到服務器上的端口80,服務器會發送回客戶端上的其他端口。這已經是TCP的一部分。你期望實現什麼 - 你可以在同一個端口上發送/接收? –

+0

FTP執行此操作。一個用於控制通信的連接,另一個用於數據通信。它有道理嗎?......只取決於你的架構!請記住,每個端口都需要它自己的TcpClient/TcpListener。 –

回答

1

通常不,一個TcpClient在單個本地端口上偵聽,但記住它是雙向的,所以通常不需要像這樣分開通信信道。

如果你想提供另一個通道接收,那麼你可以創建一個TcpListener綁定到你想要接收的任何IP /端口,並讓客戶端將偵聽器綁定細節發送到另一端,以便他們知道要連接什麼至。

另請注意,設置本地偵聽端點可能會遇到有關NAT,防火牆和端口轉發的問題。

相關問題