【问题标题】:Which port number should be used for network example code?网络示例代码应该使用哪个端口号?
【发布时间】:2013-07-09 04:28:03
【问题描述】:

我写了一个小 Haskell 网络示例,但我不知道应该使用哪个端口。

在我找到的 IETF 论文或 Wikipedia's list of port numbers 中找不到示例端口号,但编程社区中可能有一个通用端口号。

【问题讨论】:

  • 不。只需选择介于 1024 和很多之间的东西即可。

标签: networking port


【解决方案1】:

端口的有效数字(无论编程语言如何)为:0 到 2^16-1 = 0 到 65535
那是因为端口号是 16 位长度的。

但是端口分为:
知名端口:0到1023(用于系统服务,例如HTTP、FTP、SSH、DHCP ...)
注册/用户端口:1024 到 49151(您可以将它用于您的服务器,但要小心一些著名的应用程序:如 Microsoft SQL Server 数据库管理系统(MSSQL)服务器或 Apache Derby Network Server 已经在此范围内即不建议将 MSSQL 的端口分配给您的服务器,否则如果 MSSQL 正在运行,那么您的服务器很可能由于端口冲突而无法运行)
动态/私有端口:49152 到 65535 .(不用于服务器,而是用于客户端,例如在 NATing 服务中)

在编程中你可以为你的服务器使用 0 到 65535 之间的任意数字,但是你应该坚持上面提到的范围,否则某些系统服务或某些应用程序将因为端口冲突而无法运行。
在此处查看大多数端口的列表:https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

【讨论】:

    【解决方案2】:

    1024以上65535以下且没有被你电脑使用过的端口都可以,选择你喜欢的就行。通常一些网络框架使用8000或8888。

    【讨论】:

      【解决方案3】:

      除非您真的需要静态固定端口,否则最好让操作系统为您选择一个可用的随机端口,然后您可以显示/发布选择的实际端口,以便让您的客户知道要连接到哪个端口.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-26
        • 2015-05-20
        • 2012-06-15
        • 2012-02-07
        • 2012-10-19
        • 1970-01-01
        • 2022-12-07
        • 2020-11-03
        相关资源
        最近更新 更多