【发布时间】:2019-09-28 07:37:51
【问题描述】:
我目前正在尝试制作一个在启动时连接到 telnet 服务器的应用程序。目前我正在尝试类似的代码:
String ss = null;
Process p = Runtime.getRuntime().exec("cmd /c telnet localhost 4445");
BufferedWriter writeer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
writeer.write("telnet localhost 4445");
writeer.flush();
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
System.out.println("Here is the standard output of the command:\n");
while ((ss = stdInput.readLine()) != null) {
System.out.println(ss);
}
但是,这不会打开终端,尽管我假设它运行所需的命令。我想打开一个终端,执行一个命令,如第二行所示,然后让终端保持打开状态供用户使用。
有没有办法做到这一点?我已经尝试了一段时间,但没有找到真正能提供所需输出的解决方案。
【问题讨论】:
-
@PaulBastide 常规套接字是个好主意,除非服务器实际上是 telnet 服务器。 Telnet 是一种使用 0xff 字节值作为转义字符支持多种通信选项的协议。