如何读取 Putty 在 Java 服务器上发送的每个字符?
How to read each char sent by Putty at Java server?
在 Putty(Raw 模式)中强制关闭“本地行编辑”后,所有键入的字符都被发送到服务器而无需回车(使用 Wireshark 进行了检查)。
我有这个代码:
ServerSocket listener = null;
BufferedReader is;
listener = new ServerSocket(22);
socket = listener.accept();
is = new BufferedReader(new InputStreamReader(socket.getInputStream()););
while (true) {
line = is.readLine();
os.write("Shell#");
os.flush();
}
此代码需要 Putty 的 Enter 才能读取所有键入的序列字符,
如何在Java 服务器端逐一读取这些发送的字符?
如您所见,readLine()
读取 整 行,因此不会 return 在换行符标记 end[ 之前=22=] 一行。
另请注意,BufferedReader
的全部意义在于 缓冲 数据。
真正的答案是仔细查看您的代码使用的不同 classes。含义:在 InputStreamReader class!
中查看 read()
在 Putty(Raw 模式)中强制关闭“本地行编辑”后,所有键入的字符都被发送到服务器而无需回车(使用 Wireshark 进行了检查)。
我有这个代码:
ServerSocket listener = null;
BufferedReader is;
listener = new ServerSocket(22);
socket = listener.accept();
is = new BufferedReader(new InputStreamReader(socket.getInputStream()););
while (true) {
line = is.readLine();
os.write("Shell#");
os.flush();
}
此代码需要 Putty 的 Enter 才能读取所有键入的序列字符,
如何在Java 服务器端逐一读取这些发送的字符?
如您所见,readLine()
读取 整 行,因此不会 return 在换行符标记 end[ 之前=22=] 一行。
另请注意,BufferedReader
的全部意义在于 缓冲 数据。
真正的答案是仔细查看您的代码使用的不同 classes。含义:在 InputStreamReader class!
中查看 read()