为什么端口80用于服务器应用程序?

时间:2014-04-06 15:19:40

标签: networking tcp port

我想开发一个企业应用程序,其中每个员工都有一个客户端应用程序,并且有一个具有服务器应用程序的公共服务器。客户端和服务器基本上以文本,图像文件,zip文件等形式交换信息。从我的研究中我认为TCP是最好的协议。但我不明白如何分配端口号。这是我迄今为止的理解。

  • 客户端可以自动选择OS自动选择的任意端口。所以我 只需要用OS查询获取客户端的端口号吗?
  • 服务器端口号必须在服务器和客户端中进行硬编码 应用
  • 服务器端口号应始终为80.为什么?是否可以为服务器应用程序提供任何其他端口号?如果是,我如何选择它?
  • 如果服务器使用的端口号已被使用,会发生什么情况 服务器上的其他一些应用程序?

编辑:以下是一些文章/问题,让我觉得端口80是服务器的默认端口。

1 个答案:

答案 0 :(得分:2)

  

客户端可以通过OS自动选择任意随机端口。所以我只需要用OS查询获取客户端的端口号?

是。但是你不必为此查询操作系统。调用系统像connect()这样的函数,操作系统将为您处理低级端口号详细信息。请注意,客户端不需要知道它在哪个端口上运行。一旦建立TCP连接,服务器就知道客户端端口号。

  

服务器端口号必须在服务器和客户端应用程序中进行硬编码吗?

是的,这是一种方法。

  

服务器端口号应始终为80.为什么?并且不能有其他端口号吗?

它不一定是80.只要客户端知道端口号,它就可以是任何东西。对于HTTP服务器,您所说的是standard port number。这不适用于您的私人申请。

  

如果服务器使用的端口号已被用于服务器上的其他应用程序,会发生什么?

设计完系统后,您需要确保为服务器选择的端口号在服务器主机上是免费的。这很容易做到。选择49152 - 65535范围内的服务器端口。这些是非注册端口,可用于私人使用。只需确保您没有在服务器主机上的同一端口上运行另一个私有应用程序。