我正在研究java.我如何检查端口是否可以免费使用ServerSocket?此外,当accept()函数返回Socket时,它默认给出一个端口和IP地址,或者我也必须指定它?
您可以使用java.net.ServerSocket与端口构造0告诉ServerSocket找到一个空闲端口.
文件:
port - 端口号,或0表示使用自动分配的端口号.
例:
int port = -1;
try {
ServerSocket socket = new ServerSocket(0);
// here's your free port
port = socket.getLocalPort();
socket.close();
}
catch (IOException ioe) {}
Run Code Online (Sandbox Code Playgroud)
使用 Try catch 查找空闲端口
private static int port=9000;
public static int detectPort(int prt)
{
try{
//connect to port
}
catch(Exception e)
{
return detectPort(prt+1);
}
return prt;
}
// Write detectPort(port); inside main
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |