从Java程序,我想测试具有特定IP地址和端口的交换机是否可用于telnet。所以计划运行telnet并退出。如果它出现“无法打开连接”或“连接失败”错误,则无法访问交换机。如果没有给出任何错误,则可以访问telnet。
我在代码下面执行,
Process p = Runtime.getRuntime().exec("cmd /C telnet "+IP+ " " +port );
//Process p = Runtime.getRuntime().exec("cmd /C ver");
p.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
但它不提供任何输出是否可用。当我在命令提示符下运行相同的telnet命令时,它工作正常。但是从java不起作用。
声明,
Process p = Runtime.getRuntime().exec("cmd /C ver");
工作正常,并返回版本。
我不知道如何telnet到交换机并退出并返回错误以查看它是否可用。
谢谢, Peeyush
答案 0 :(得分:0)
您可以在java中使用Socket并尝试打开与所需主机和端口的连接,而不是调用telnet命令。 如果不需要特殊的控制代码处理,这适用于大多数情况。
作为替代方案:Apache Commons Net包含一个java telnet客户端库。