Я создал простой telnet-сервер с использованием QTcpSocket. Он отлично работает, когда клиент (telnet) отправляет команду по одной строке за раз.Получить ключи вверх/вниз с помощью QTcpSocket
Теперь я хотел бы, чтобы мой сервер telnet задерживал клавиши со стрелками вверх/вниз, чтобы я мог вспомнить предыдущие команды от клиента. Когда я нажимаю вверх/вниз на клавиатуре у клиента telnet, я вижу^[[на экране, но я не думаю, что он отправлен на сервер.
Есть ли способ заставить клиента telnet отправлять эти символы (без необходимости ввода ввода)? I подозревает, что это связано с небуферизованным режимом, но документы говорят, что QTcpSocket не может выполнять небуферизованный режим. Я на правильном пути? Есть ли способ сделать это?
Мое приложение-сервер Telnet должен работать для всех телнет клиентов, и предполагают, что они поддерживают XTERM/vt100/ANSI коды и т.д. Я не хочу программировать для одного клиента Telnet. – TSG
@GenerationDSystems: вы правы, и это было именно то, что я имел в виду: если ваш вопрос: «Как заставить заставить telnet-клиент что-то сделать», тогда мой ответ «зависит от того, какой клиент telnet вы используете». .. Я уверен, что буферизация не происходит на 'QTcpSocket', который слушает прием некоторых данных ... так что на стороне сервера вы должны быть в порядке ... в любом случае вы не поделились с нами своим кодом, поэтому я не знаю, что вы делаете, и поэтому я просто догадываюсь ... –
У меня нет соответствующего кода для публикации. Мой вопрос более общий. Я обрабатываю это, ища коды во входном потоке? Работают ли клиенты telnet в «LINEMODE» по умолчанию? не знаю, как подойти к проблеме – TSG