6

我听说对于 TCP 连接,服务器将侦听 1 个端口,并使用另一个端口发送数据。

例如,Web 服务器侦听端口 80。每当客户端连接到它时,该服务器将使用另一个端口(例如 9999)向客户端发送数据(Web 内容)。如果多个客户端连接到它,该服务器是否会创建多个“另一个端口”来发回数据?

客户端是否像服务器一样使用 2 个端口(监听端口和发送数据端口)?

我对吗?我听很多人这么说,我找不到任何关于这方面的好书或文章

请解释

4

1 回答 1

24

我听说对于 TCP 连接,服务器将侦听 1 个端口,并使用另一个端口发送数据。

不可以。同一个端口用于监听和接受的连接,同样的连接通常用于发送和接收。TCP 连接是双向的。FTP 是一个例外,因为它使用两个连接:一个用于命令,一个用于数据。

例如,Web 服务器侦听端口 80。每当客户端连接到它时,该服务器将使用另一个端口(例如 9999)向客户端发送数据(Web 内容)。

不。

如果多个客户端连接到它,该服务器是否会创建多个“另一个端口”来发回数据?

不。

客户端是否像服务器一样使用 2 个端口(监听端口和发送数据端口)?

不。

我对吗?

不。

我听很多人这么说

他们都错了。

我找不到任何关于这个的好书或文章

没有。只有一本非常糟糕的书或文章会说这样的话。

于 2013-04-02T11:57:10.130 回答