Можно ли удалить строку ввода в сеансе telnet из буфера, поэтому при нажатии клавиши ввода введенный текст удаляется, но все же отправляется на сервер telnet?
Я знаю, что есть способ отправить определенный символ, который перемещает курсор в начало строки, а затем перезаписывает строку новым, но поскольку новая строка chatacter помещается в буфер, яне могу пройти мимо этого.Есть ли способ обойти это?
Пример: (Вторая строка - ввод пользователя)
Welcome to my imba text game!
pick up axe
Затем вы нажимаете ввод и экранный буфер показывает:
Welcome to my imba mud game!
[You picked up the axe]
Обновление:
Я думаю, ключом является установка клиента telnet в каком-либо режиме, который не отображает локальный ввод.Я обнаружил, что отправка некоторых магических символов клиенту может изменить режим.Я нашел этот пример, и я не знаю, что это значит, но он предотвращает отображение ввода в клиенте telnet.Однако ввод никогда не отправляется на сервер, так что это только половина ответа.
socket.send("\377\375\042\377\373\001")
Может быть, это потому, что я читаю ввод за строкой.Я хотел бы, чтобы это читалось как символ за символом.Не знаю, как изменить это, чтобы сделать это, хотя:
fileobj = socket.makefile()
while True:
line = fileobj.readline()
...