原理:在初始化ServerSocket的时候指定其端口为0(不指定时使用默认值-1),这样就会返回系统分配的空闲端口了。

 

ServerSocket serverSocket =  new ServerSocket(0); //读取空闲的可用端口
int port = serverSocket.getLocalPort();