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"只有当我按两次输入时才会写入响应... 哪里错了?请帮帮我。
答案 0 :(得分:0)
当尝试使用基于会话协议的协议(Telnet,FTP,SSH ..)连接到网络服务时,需要保持连接活动并与服务交互,建议使用可用的Java API而不是重新发明轮子(仅当你被要求没有第三方库时),在你的情况下你可以使用Apache Common Net提供一组有用的功能来连接到使用许多网络协议(包括Telnet)的服务器。