【发布时间】:2014-07-29 04:33:55
【问题描述】:
TelnetClient telnet = new TelnetClient();
telnet.connect( "192.168.0.6", 23 );
PrintWriter out =
new PrintWriter(telnet.getOutputStream(), true);
DataInputStream in =
new DataInputStream(telnet.getInputStream());
BufferedReader stdIn =
new BufferedReader(
new InputStreamReader(System.in));
String userInput;
byte buffer[] = new byte[1024];
int bytesRead;
while ((bytesRead=in.read(buffer,0,1024)) != -1) { // read from server
System.out.print(new String(buffer, 0, bytesRead, "UTF-8"));
userInput = stdIn.readLine();
if (userInput != null) {
out.println(userInput);
out.flush();
}
}
telnet.disconnect();
您好,我在连接服务器期间遇到了这个程序的问题。 该程序应该允许我启动到服务器的 telnet 连接并向其发送一些命令并返回结果,但是当我启动连接时,它有时只返回服务器的 HELLO(欢迎使用 Microsoft Telnet 服务)而不是包括登录在内的整个消息: 当我发送命令时,这些命令的响应会延迟。 例如我写“DIR”,只有当我按两次回车时才会写响应...... 我哪里错了?请帮帮我。
【问题讨论】:
-
你需要两个单独的线程。
-
如果我写了一个命令然后我读了响应为什么我需要两个单独的线程?
-
它似乎有效。我爱你。当我编写完整的代码时,我会发布它。
标签: java sockets inputstream telnet