端口号

时间:2009-05-15 12:51:00

标签: tcp

这是一个小小的怀疑和一些不应该真正想到的东西。请原谅我这个

为了在局域网上的两个主机之间传输消息,发送和接收数据的端口号是否必须相同?

4 个答案:

答案 0 :(得分:2)

没有。您将发送到已知的端口号,但您的客户端端口号基本上是随机的。这意味着多个客户端可以使用不同的客户端端口号发送到一个服务器,但只能发送一个已知的服务器端号码。

e.g。如果您在一台计算机上有多个客户端与远程Web服务器通信,则它看起来像:

localhost:31000 -> webserver:80
localhost:31001 -> webserver:80
localhost:31002 -> webserver:80

并且您只需要指定webserver:80组合。客户端数字是短暂的(有关详细信息,请参阅here

答案 1 :(得分:1)

没有

它的工作原理如下

  1. 客户端机器想与之交谈 服务器机器客户机需要 知道服务器上的端口 机器,例如端口80 http
  2. 客户端计算机打开一个 连接到服务器机器。它是 在随机端口上打开 客户端,但是已知的端口号 在服务器上
  3. 服务器发回 沿着这个管道到端口号 客户告诉它,随机 一打开

答案 2 :(得分:0)

不,他们没有。您需要一个众所周知的端口来在主机上建立连接,但客户端将创建一个套接字,其中包含操作系统返回的随机端口号。

答案 3 :(得分:0)

只需添加我的$ 0.02,服务器就可以在同一个套接字上打开多个连接。因此,如果您有3个客户端都连接到端口80,它们可以同时连接;你不必担心一个客户“占用”港口。