リモート マシンでソケットが開いているかどうかを判断するための簡単な方法を作成しました。これが私のコードです:
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;
}
}
次の 2 つの引数を渡します。
String bindAddr = "remotemachinename";
int port = 1719;
ポートが使用できないというメッセージが引き続き表示されますが、マシンで netstat -a を実行すると、明らかに使用されていないことがわかります。何か不足していますか?