我正在创build一个内部协作工具,它将使用一个中央服务器(在Intranet上)和一个或多个端口来与客户端进行套接字通信。 我知道许多端口是为特定目的而保留的,其他端口通常用于某些types的stream量。
我应该如何去select一个最不可能被其他人声称为他们的工具的默认端口? 是否有一个数据库可以识别所有已知(甚至是非传统)的端口使用情况?
是的,IANA维护官方服务和端口号registry 。
在RFC 6335中logging了获取分配给您的端口号的过程。 任何端口分配都需要审查过程,但是对于<1024; 这样的分配要求(除其他外)你的协议被logging在RFC中。
(请注意,这个过程是相对较新的,并有许多分配的端口已经盛装进去了。)
对于<1024,端口1021和1022被保留用于实验; 在这之上,对于实验,您可以简单地使用dynamic端口> = 49152。
在大多数情况下,最好只使用HTTP,因为迟早会有防火墙需要跨越。 大多数操作系统允许在进程之间分配HTTP地址空间。