如何修复通过Telnet发送到Java中Inputstream的退格键?

时间:2019-04-09 11:15:25

标签: java sockets chat inputstream telnet

在我的Java Chatserver上,用户可以使用消息前的退格键来更改其用户名。

我目前正在用Java编写聊天服务器和客户端。它确实工作得很好,但是我有个烦人的“错误”,用户可以使用消息前面的退格键来发送不带用户名的消息,因为telnet或使用的BufferedReader-InputStream会将退格符保存在消息字符串中。

我试图替换退格键,使用户无法更改拼写错误。

我不知道下一步该怎么做。

示例: Test>[10 backspaces]This is a test. 其他人收到消息This is a test.,但实际消息应为Test:This is a test.

1 个答案:

答案 0 :(得分:1)

这行代码部分地解决了我的问题:

while (input.contains("\b")) input = input.replaceAll("^\b+|[^\b]\b", "");