TCP的允许端口范围

Mik*_*e G 7 java tcp

我正在尝试为TCP连接生成随机端口号.来自:http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers我知道端口范围从1024到49151不是保留的,但有些只是UDP,我怎么才能生成有效的TCP端口号?

Eri*_*ric 15

如果绑定到端口0,操作系统将选择一个有效的非使用端口.

如果您需要随机而不是任意,那么49152-65535中的任何内容都应该可以安全地自动使用,所以只需选择该范围内的随机数即可.(但是,如果该端口被证明正在使用,则可能需要重试.)

  • 为了详细说明,您的本地服务器绑定到特定端口,但UDP和TCP位于不同的"命名空间",因此是独立的.使用_both_的服务器通常会为两者打开相同的端口号._Connections_由5元组协议,local-addr,本地端口,远程地址,远程端口定义,这解释了为什么不进行串扰等. (2认同)