首页
学习
活动
专区
圈层
工具
发布

端口号
EN

Stack Overflow用户
提问于 2009-05-15 12:51:00
回答 4查看 387关注 0票数 1

这是一个小小的疑问,也是不应该出现在某人的mind.So中的东西,请原谅我这样做

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-15 12:54:25

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

例如,如果您在一台机器上有多个客户端与远程you服务器对话,它将如下所示:

代码语言:javascript
复制
localhost:31000 -> webserver:80
localhost:31001 -> webserver:80
localhost:31002 -> webserver:80

您只需指定webserver:80组合即可。客户端号码是短暂的(有关更多信息,请参阅here )

票数 2
EN

Stack Overflow用户

发布于 2009-05-15 12:54:10

不是的。

它的工作方式如下

  1. 客户端机器要与服务器机器对话,客户端机器需要知道服务器机器上的端口,例如http
  2. 客户端机器打开到服务器机器的连接的端口80。它在客户端上的随机端口上打开,但在服务器
  3. 上的已知端口号上,服务器会沿着此管道将其发送回客户端告诉它的端口号,即它打开

的随机端口号

票数 1
EN

Stack Overflow用户

发布于 2009-05-15 12:53:52

不,它们不需要。你需要一个众所周知的端口来建立主机上的连接,但客户端将使用操作系统返回的随机端口号创建一个套接字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/868501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档