2010-01-11 208 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套接字是特定的实例类型。