Home

Page 15
Page 15
background image

протокола  Telnet  сегодня   не   является   предпочтительным,   вместо   него 
используется несколько других режимов.

Рассмотрим   следующий   режим   –   посимвольный   (character-at-a-time). 

Данный режим предполагает, что все символы, которые вводит клиент на своем 
терминале   немедленно,   без   всяких   команд   сервера,   отправляются   на   сервер. 
При этом клиент НЕ отображает введенные пользователем символы на мониторе 
пользователя, он просто отправляет эти символы серверу. Как же в таком случае 
осуществляется   отображение   на   мониторе   пользователя   символов,   введенных 
самим   пользователем?   В   данном   режиме   эта   задача   возлагается   целиком   на 
сервер  Telnet  – сервер, получая символы от клиента, ВОЗВРАЩЕТ их клиенту, 
таким   образом,   клиент   отображает   на   мониторе   пользователя   только   то,   что 
получено от сервера,  таким образом, на мониторе пользователя оказываются и 
те   символы,   которые   напечатал   на   клавиатуре   сам   пользователь.   Возникает 
закономерный   вопрос:   как   клиент   и   сервер   договариваются   о   том,   что 
необходимо   установить   посимвольный   режим?   Это   делается   с   помощью   двух 
опций   протокола  Telnet,   согласование   использования   которых   на   этапе 
установки   соединения   и   означает   переход   на   использование   посимвольного 
режима. Очевидно, что для включения посимвольного режима в первую очередь 
необходимо разрешить клиенту отправлять свои данные всегда, не дожидаясь 
получения   команды  GA.   Для   этого   клиент   может   попросить   у   сервера 
задействовать   опцию   с   кодом   03,   которая   называется  Suppress  Go  Ahead 
(отказаться от использования GA) с помощью команды DO Suppress Go Ahead, на 
что сервер должен ответить  WILL  Suppress  Go  Ahead. Так же и сервер может 
предложить   клиенту   отказаться   от   использования  GA  на   своей   (серверной) 
стороне, первым подав команду  WILL  Suppress  Go  Ahead, на что клиент может 
ответить DO Suppress Go Ahead.

Как отмечалось ранее, если одна из сторон выполняет некоторую опцию 

(так как захотела этого сама или так как этого же захотела вторая сторона), это 
не значит, что эту опцию выполняет и вторая сторона. Действительно, и клиент 
и   сервер   согласились   с   тем,   что   опция  Suppress  Go  Ahead  выполняется   на 
стороне   сервера,   но   выполнение   этой   опции   на   стороне   клиента   не 
оговаривалось   и   не   имеет   смысла   оговаривать,   так   как   клиент   никогда   и   не 
посылал команду GA серверу.

Если   данная   опция   (Suppress  Go  Ahead)   согласована,   это   значит,   что 

клиент   может   передавать   свои   данные   в   любое   время,   но   пока   еще   не 
оговорено,   что   клиент   не   должен   заботится   о   печати   локально   введенных 
пользователем   символов,   переложив   данную   работу   на   сервер.   Для   этого   в 
протоколе  Telnet  предусмотрена   еще   одна   опция   с   кодом   1,   она   называется 
Echo. Клиент предлагает серверу выполнять данную опцию на стороне сервера 
командой  DO  Echo, на что сервер может ответить  WILL  Echo. Точно так же и 
сервер может первым предложить использование опции  Echo  на своей стороне 
командой  WILL  Echo,   на   что   клиент   может   ответить  DO  Echo.   В   случае,   если 
данная   опция   установлена,   все   символы,   введенные   пользователем   с 
клавиатуры   своего   терминала   передаются   клиентом  Telnet  серверу  Telnet, 
клиент не отображает на мониторе пользователя введенные им символы, сервер 
передает клиенту все введенные ИМ же символы (разумеется, передавая их при 
этом  shell  )   назад,   клиент   отображает   на   мониторе   пользователя   ВСЕ 

полученные от сервера символы (в том числе и те, которые ввел сам клиент).

В случае установки обоих перечисленных выше опций (Suppress Go Ahead 

и  Echo) клиент и сервер переходят в посимвольный режим работы, в котором 
клиент   может   передавать   символы   серверу   в   произвольный   момент   времени, 
сервер   возвращает   клиенту   все   введенные   им   символы,   которые   клиент 
отображает на мониторе пользователя. 


Copyright © 2019 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.