我已经创建了一个简单的方法来尝试确定套接字是否在远程机器上打开。这里是我的代码:使用java在远程计算机上打开ServerSocket?
public static Boolean isPortAvailable(int port, String bindAddr ) {
try {
System.out.println("IP: " + InetAddress.getByName(bindAddr));
ServerSocket srv = new ServerSocket(port, 0, InetAddress.getByName(bindAddr));
srv.close();
srv = null;
return true;
} catch (IOException e) {
return false;
}
}
传递这有两个参数:
String bindAddr = "remotemachinename";
int port = 1719;
它继续告诉我的端口不可用,但如果我尝试在机器上的netstat -a我看到它显然不是正在使用。我错过了什么吗?
作为两个答案都告诉你,你已经完全误解了ServerSocket的构造做什么。您无法使用它在远程计算机上打开ServerSocket。那将如何工作? –