java在用户输入之前在控制台中写字母

时间:2016-10-17 20:24:05

标签: java io console-application system.out system.in

我正在使用控制台编写简单的套接字聊天来输出消息。问题是当一个用户输入一个消息并同时获得一个消息时,他的输入被中断:

I: writing my input here, but
Other_user: hi! here is a message for you.
I: it splits to different lines, which is 1) very inconvenient 2) cannot see which simbols i deleted if press backspace

所以,我要问的是,我怎么能避免这种情况
(类似于:如果收到消息,检查符号的输入;如果有,请记住它们,删除控制台中的最后一个笔划,打印消息,然后重新创建该笔划)。
编辑:附图message interleaving

1 个答案:

答案 0 :(得分:0)

没有特定代码很难说,但是一个选项是使用两个线程,一个用于处理套接字输入,一个用于输出。分别将它们附加到System.in和System.out。看起来你可能只使用一个线程来做到这两点。