RFC: 1123
Оригинал: Requirements for Internet Hosts - Application and Support
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых

3.2.4. Сигнал Telnet "Synch": RFC 854, стр. 8-10

При получении срочных (urgent) данных TCP клиент или сервер Telnet должен отвергать (discard) все данные, за исключением команд Telnet, пока не будет получен октет DM (завершение срочных данных).

При передаче Telnet IP (Interrupt Process) клиенту Telnet рекомендуется сопровождать такое прерывание последовательностью Telnet "Synch" (т. е. передавать как срочные данные TCP последовательность IAC IP IAC DM). Указатель срочности TCP должен указывать на октет DM.

При получении команд Telnet IP сервер Telnet может передать последовательность Telnet "Synch" клиенту для отсечения выходного потока. Выбор решения связан с реакцией операционной системы сервера на локальное прерывание процесса пользователем.

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

Клиенту Telnet рекомендуется поддерживать возможность отсечения вывода при передаче Telnet IP (см. также 3.4.5).

  • Обсуждение
  • Для клиента Telnet существует три способа отсечения выходного потока данных сервера:

    1. Передать команду AO после IP.

      В результате хост сервера будет передавать сигнал "flush-buffered-output" (отбросить буферизованный вывод) своей операционной системе. Однако команда AO может не дать локального эффекта (т. е., не остановить терминальный вывод на стороне клиента Telnet), пока сервер Telnet получает и обрабатывает команду AO и передает обратно "Synch".

    2. Передать DO TIMING-MARK [RFC860] после IP и локально отвергать весь вывод, пока не будет получена последовательность WILL/WONT TIMING-MARK от сервера Telnet.

      Поскольку DO TIMING-MARK обрабатывается после уровня IP на сервере, отклик на эту команду должен находиться в корректном месте выходного потока данных. Однако, TIMING-MARK не будет посылать операционной системе сервера сигнал "flush buffered output". Необходимость такого сигнала определяется операционной системой сервера Telnet.

    3. Использовать оба способа.

    Который из вариантов лучше, однозначно сказать нельзя, поскольку требуется адаптация к различным хостам с серверами Telnet, которые могут не соответствовать стандартам Telnet в различных вопросах. Наиболее безопасным решением будет поддержка выбираемой пользователем опции (1), (2) или (3).

2007 - 2017 © Русские переводы RFC, IETF, ISOC.