2010-01-11 209 views
0

普通套接字和TCP套接字有什麼區別?同樣在像IIS這樣的Web服務器中,可以在服務器中創建多少個TCP套接字?我曾經在某處讀過當客戶端連接到Web服務器(在端口80上)時,Web服務器創建一個臨時端口並在臨時端口上回復客戶端。真的嗎 ?。套接字和TCP套接字

+0

當你說「普通套接字」時,我不確定你指的是什麼:雖然他的答案解釋了不同類型的套接字,但我已經投了Andrew Medico。 – jkp 2010-01-11 07:08:08

回答

0

正如Andrew所說,套接字只是一個接口。考慮插頭和插座;其中socket是插頭的外部接口。

現在設想一下計算機內部的插座和來自外部世界的插頭,插入該插座 - 即連接;現在他們需要告訴對方他們將如何溝通(即協議)。協議的標準形式是TCP或UDP。請參閱introduction to TCPIP

套接字由協議定義,並且 是主機上的地址。格式爲 的地址是特定於每個 協議。在TCP/IP中,地址是 的IP地址和 端口的組合。兩個插座,每個連接一端爲 ,構成雙向通信路徑。

一個操作系統最多可以有65536個端口;在Windows中最多1024個由操作系統自己保留。

是的,服務器(包括IIS)接受初始請求並將連接轉發到重定向端口是正確的。值得一窺link。另外,如果要限制與IIS的連接,請參閱performance tuning部分。

0

無法解釋有關TCP套接字與常規套接字的詳細信息,但您對臨時端口是正確的。套接字從端口80切換,通信恢復到其他一些空閒端口。

如果您考慮所有Web服務器,這是有道理的。大量的我們都在同時嘗試訪問堆棧溢出。我們都不能在端口80上與SO服務器通話。因此,服務器在80端口上接受我們的初始請求,然後在連接期間將連接切斷到某個其他端口。

3

「套接字」是由套接字(2)系統調用創建的接口的通用術語。套接字可以在各種接口上運行 - TCP/IP,UDP/IP,主機本地「UNIX域套接字」等。TCP套接字是特定的實例類型。