我有一个使用 org.apache.commons.net.telnet.TelnetClient 的 Java 远程登录代码
我通过以下代码从远程登录服务器读取“登录:”来提供登录信息,
in = telnet.getInputStream();
char lastChar = pattern.charAt(pattern.length()-1);
StringBuffer sb = new StringBuffer();
char ch = (char) in.read();
while (true) {
System.out.print(ch);
sb.append(ch);
if (ch == lastChar) {
if (sb.toString().endsWith(pattern)) {
return sb.toString();
}
}
ch = (char) in.read();
i++;
// System.out.print(i);
}
但是当我给一个无效的telnet服务器提示例如“用户名:”时,它会导致无限循环等待“in.read();”中的“登录:”
当它在 in.read() 中等待时,我也不能在 while(_flag) 中使用任何标志或其他标志。当应用程序收到无效登录时,谁能为我提供避免无限循环的解决方案。