2010-05-25 81 views
1

明天爲考試做一些練習題無法弄清楚這一點TCP服務器所需的套接字端口的最小數目是多少?

TCP服務器連接TCP客戶端進行通信所需的套接字端口的最小數量是多少?

當然,它只是兩個權利?一個用於客戶端的服務器,但這似乎很明顯。我的夥伴們認爲TCP在服務器端使用兩個端口來輸入數據,一個輸出數據。

在此先感謝

回答

2

通常一個端口/插座將在服務器上打開監聽傳入的連接。連接後,連接將在服務器上分配自己的(不同的)套接字以繼續對話。所以嚴格來說,這是服務器上的一個端口和兩個套接字 - 如果您想要統計,那麼客戶端上有一個端口和兩個套接字。

編輯:是的我相信下面的評論是正確的 - 編輯上面的答案來區分套接字和端口。

+1

+1 - 擊敗我吧。 – 2010-05-25 18:01:02

+2

在服務器端使用相同的端口號來監聽新連接和已建立的連接(可以通過netstat(1)實用程序進行驗證)。服務器上的TCP堆棧使用客戶機端口號來區分已建立的連接。 – 2010-05-25 18:31:44

+1

Steve Emmerson是對的。在通用的BSD套接字API下,有兩個服務器*套接字* - 一個監聽新的連接,一個與連接的客戶端通信 - 但仍然只有一個服務器*端口*。 – caf 2010-05-26 00:14:15

1

某些協議(如ftp)使用多個端口(一個用於控制,另一個用於數據),但TCP通常可以在每邊使用一個端口。

0

答案是兩個:服務器上的一個端口既監聽新連接,又監聽服務已建立的端口和客戶端上的一個端口。

相關問題