Нашей встроенной системе нужен интерфейс Telnet (через последовательный порт), поскольку аппаратное обеспечение/устаревшая система работает по полудуплексному каналу (RS485). Да, я знаю — нет, мы не можем это изменить, индустрии так нравится.
Проблема в том, что пока мы отправляем на терминал полный экран текста, пользователь может нажимать кнопки и отправлять данные обратно по проводу.
Telnet поддерживает команду IAC->GA (Go Ahead), чтобы сообщить пользовательскому терминалу, что он может начать отправку данных, но ни в одном из RFC, которые я читал, нет информации о том, что сообщает пользователю терминал, чтобы остановить отправку данных, чтобы мы могли обновить экран.
К сожалению, все RFC после 1973 года предполагают, что будет использоваться режим SGA (Suppress Go Ahead). поэтому об этом очень мало упоминают. К сожалению, похоже, что не существует единого RFC или другого документа, который бы фактически охватывал весь протокол.
Есть ли у кого-нибудь информация/ссылки, которые более полно документируют протокол telnet (или просто поведение Go Ahead)? Я понимаю, что некоторые из них, вероятно, написаны на пергаменте с зелеными полосами ;)
RE-Edit: Почему этот вопрос о программировании закрыт "не по теме"? Telnet — это седьмой уровень модели OSI, знаете ли…