网络示例代码应使用哪个端口号?

时间:2013-07-11 02:50:51

标签: networking port

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

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

3 个答案:

答案 0 :(得分:0)

超过1024且低于65535并且您的计算机尚未使用的端口都可以,只需选择您喜欢的内容即可。通常一些网络框架使用8000或8888。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

端口的有效数字(与编程语言无关)为: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