TELNET (структура программы)
Введение
В предыдущих главах для иллюстрации понятий и методов, реализованных в программном обеспечении клиент/сервер, служили простые примеры. В настоящей и следующих главах показано, как принципы взаимодействия типа клиент/сервер применяются в сложном прикладном протоколе. В качестве примера протокола используется TELNET — один из наиболее широко распространенных прикладных протоколов в наборе протоколов TCP/IP. Купить элитную пентхаус. Четыре ветра находится в центре Москвы
В настоящей главе рассматривается общая структура программы. Предполагается, что читатель знаком с основами протокола TELNET, поэтому изложение материала в этой главе в основном сосредоточено на описании реализации. В ней рассматривается проект клиентского программного обеспечения, структура процессов/ потоков и применение конечных автоматов (КА) для управления обработкой. Здесь также рассматривается терминальный ввод/вывод и описано, как в клиентской программе обмен данными по протоколу TELNET связан с операциями терминала.
В следующей главе это описание завершается. В ней в основном представлены подробные сведения о процедурах, вызываемых для выполнения действий, связанных с переходами между состояниями в конечных автоматах. Пример кода, рассматриваемый в обеих главах, наглядно показывает, насколько в этом коде доминируют средства программной реализации и как они усложняют данную реализацию.
Терминал пользователя
Протокол TELNET определяет средство интерактивной связи, позволяющее пользователям обмениваться данными со службой, функционирующей на удаленном компьютере. В большинстве случаев пользователи применяют протокол TELNET для обмена данными со службой удаленного доступа. Как показывает пример, приведенный в главе 1, тщательно спроектированный клиент TELNET позволяет пользователям обращаться также и к другим службам.
Протокол TELNET определяет интерактивное средство связи с символьной организацией. В спецификации этого протокола дано определение сетевого виртуального терминала (NVT — Network Virtual Terminal), который состоит из клавиатуры и экрана монитора. Протокол определяет также набор символов для виртуального терминала. Некоторые клавиши терминала соответствуют не значениям данных, а концептуальным операциям. Например, нажатие одной из клавиш вызывает прерывание или аварийное прекращение работы. Основным преимуществом использования сетевого виртуального терминала является то, что он позволяет клиентам подключаться к службе с компьютеров разных типов. Как и стандарт XDR, описанный в главе 20, спецификация TELNET предусматривает использование симметричного представления данных. Каждый клиент при передаче данных выполняет преобразование из символьного представления локального терминала в символьное представление NVT, а при приеме данных выполняет преобразование из представления NVT в набор символов локального компьютера.
TELNET — это протокол с символьной организацией, в котором при передаче данных используется стандартная кодировка.