根据http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml,目前我看到的选项如下:
1.系统端口(0-1023):我不想使用此范围内的任何端口,因为服务器可能正在运行此范围内的标准端口服务。
2.用户端口(1024-49151):考虑到这些应用程序是内部使用的,我不打算请求IANA为我们的任何应用程序保留端口号。但是,我希望减少其他进程使用相同端口的可能性,例如Oracle Net Listener使用的1521端口。
3.动态和/或私有端口(49152-65535):这个范围非常适合自定义端口号。我的唯一担忧是如果发生以下情况:
I希望您能将我的一个应用程序配置为使用X端口, 该应用程序将在几分钟或几小时内关闭(根据应用程序的性质而定),使端口在一段时间内未被使用, 操作系统将端口号X分配给另一个进程,例如当该进程充当客户端需要与另一台服务器建立TCP连接时。如果它落在动态范围内并且X在操作系统看来当前未被使用,则此过程成功, 但是,由于端口X已经被占用,该应用程序无法启动。