Как сделать автозаполнение Telnet ввода в Java с использованием сырых сокетов - PullRequest
2 голосов
/ 27 июня 2011

Я использую универсальную библиотеку apache commons для скучного сетевого управления, чтобы пользователь мог подключиться по telnet и начать вводить команды в мой командный процессор java.В настоящее время он не предлагает такие вещи, как автозаполнение текущего токена или истории, которые я хотел бы добавить.

Я знаю, что могу смотреть символ за символом, но я не уверен, как стереть и перепечатать текущую строку, введенную смоя новая "автозаполненная линия" и т. д.

Буду признателен за любые советы в общем направлении ..:)

Ответы [ 2 ]

0 голосов
/ 27 июня 2011
0 голосов
/ 27 июня 2011

эмуляторы терминала поддерживают escape-последовательности .Эти последовательности можно использовать для удаления символов в окне терминала и для позиционирования курсора.

К сожалению, существует пара различных стандартов, и вашему серверу необходимо знать стандарт клиентов терминала для отправкиправильные байты управления.Поэтому либо вы устанавливаете стандарт для своего приложения, потому что вы всегда используете один и тот же терминальный клиент, либо добавляете команду / функцию для установки стандарта из вашего клиента.

...