我写了一个小 Haskell 网络示例,但我不知道应该使用哪个端口。
我在我找到的 IETF 论文或Wikipedia 的端口号列表中找不到示例端口号,但编程社区中可能有一个通用端口号。
我写了一个小 Haskell 网络示例,但我不知道应该使用哪个端口。
我在我找到的 IETF 论文或Wikipedia 的端口号列表中找不到示例端口号,但编程社区中可能有一个通用端口号。
1024以上65535以下的端口,你的电脑没用过的都OK,选你喜欢的就行。通常一些网络框架使用 8000 或 8888。
除非您真的需要静态固定端口,否则最好让操作系统为您选择一个可用的随机端口,然后您可以显示/发布选择的实际端口,以便让您的客户知道要连接到哪个端口。
端口的有效数字(无论编程语言如何)为: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