Я создаю сервер на python (что он делает, не имеет значения), но я хотел бы, чтобы он принимал соединения telnet и предоставлял интерфейс командной строки с возможностями редактирования строки (завершение вкладок, emacs/vi-mode и т. д.) и историю за сеанс . Я успешно создал сеанс telnet, отключил линейный режим и включил серверное эхо.
Сначала я думал об использовании readline, но модуль readline python, похоже, работает только для одного сеанса на стандартном вводе; и изучение лежащей в основе библиотеки readline, которая, похоже, работает так, как она работает.
Однако я хотел бы создать экземпляр (назовите его состоянием, если хотите) для каждого клиента и по мере поступления символов (байтов) в состояние. После того, как полная строка будет сгенерирована, она будет передана на сервер, который может ее проанализировать.
Итак, мой вопрос: если есть библиотека, которая обрабатывает такие вещи, даже c-библиотеки будет достаточно.
РЕДАКТИРОВАТЬ: чтобы уточнить, у меня уже есть полностью функциональный сервер, но я хочу использовать интерфейс telnet в качестве дополнения для перенастройки, получения информации и т. д.