Java transferTo(out)在每个字符后进行应答,而不是在按Enter键后进行应答
我刚搬家,我的应用程序的运行方式与以前不同,而且对我来说完全不同 期望值: (Microsoft Telnet)->Telnet本地主机8010 键盘输入1: 你好 控制台输出1: 你好 键盘输入2: 这个 控制台输出2: 这个 实际值: telnet本地主机8010 键盘输入1: a 控制台输出1: a 键盘输入2: 四, 控制台输出2: 44 等等。。。它只是立即重复每个字符Java transferTo(out)在每个字符后进行应答,而不是在按Enter键后进行应答,java,sockets,Java,Sockets,我刚搬家,我的应用程序的运行方式与以前不同,而且对我来说完全不同 期望值: (Microsoft Telnet)->Telnet本地主机8010 键盘输入1: 你好 控制台输出1: 你好 键盘输入2: 这个 控制台输出2: 这个 实际值: telnet本地主机8010 键盘输入1: a 控制台输出1: a 键盘输入2: 四, 控制台输出2: 44 等等。。。它只是立即重复每个字符 public class SingleThreadedBlockingServerBasic { publ
public class SingleThreadedBlockingServerBasic {
public static void main(String[] args) throws IOException {
ServerSocket serverSock = new ServerSocket(8010);
while (true) {
// Connect client and serverSock - Tell serverSock to accept client Socket
Socket client = serverSock.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
int data;
// Read the int-read into the 8k buffer at offset 0 from the inputstream. inputstream receives data off
// of the client Socket.
in.transferTo(out);
}
}
}
Microsoft Telnet会话对用户的输入一次响应一个字符,它不会像MacOS和某些Linux Telnet那样在发送用户输入之前等待回车
感谢用户207421,james-k-polk提供的信息。也许问题出在你的客户身上?@IlyaGazman-Hmm我使用的是我以前使用的同一个客户。。MS Telnet应用程序可在Windows上使用它听起来像是按照它应该的方式工作,在键入每个字符后立即发送。它确切地说,
transferTo()
应该在哪里等待换行符?好的,我会写一个答案,谢谢