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