0
從Java程序中,我想測試具有特定IP地址和端口的交換機是否可用於telnet。所以計劃運行telnet並退出。如果它出現「無法打開連接」或「連接失敗」的錯誤,我們無法訪問交換機。如果不給出任何錯誤,則可以通過telnet訪問。telnet到Windows中的一個java程序的開關並獲得輸出
我執行下面的代碼,
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
嘿謝謝你的回覆。但是這需要服務器在主機端口上運行才能接受連接權限?我們不想這樣做。 我的理解正確嗎? – Peeyushpd
你不需要在服務器端改變任何東西。如果服務器(在你的情況下交換機)接受連接,你可以使用它,否則你會得到一些關於它的異常或通知。 – mschenk74
嘿,謝謝,這很容易。 :) 如果成功,它會正常執行,否則會發生IOException。 – Peeyushpd