【问题标题】:Does TCP use another port for sending data?TCP 是否使用另一个端口发送数据?
【发布时间】:2013-03-23 14:37:45
【问题描述】:

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

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

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

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

请解释

【问题讨论】:

  • 也许你把 TCP 和 FTP 搞混了?

标签: tcp connection port send listen


【解决方案1】:

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

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

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

没有。

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

没有。

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

没有。

我说的对吗?

没有。

我听很多人这么说

他们都错了。

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

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

【讨论】:

  • @EJP 来自我的阅读,如果它是 sip over tcp (sip 客户端既是客户端端口又是服务器)。所以..有可能例如本地列表端口设置为 5060,而传出端口 - 可能是动态端口
  • @justME 我的回答与服务器有关,这就是问题所在。您的评论涉及服务器+客户端,这当然会使用两个端口。
  • 喜欢你解释的方式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2013-08-09
相关资源
最近更新 更多