Чтение онлайн

ЖАНРЫ

TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

Фейт Сидни М.

Шрифт:

( ... и т.д.)

.
Конец статьи обозначен строкой,

 содержащей только символ точки.

Quit
Конец сеанса.

205

Connection closed by foreign host.

17.6 Применение агентов новостей для настольных систем

Рассмотрим, как будет выглядеть аналогичный диалог для агента настольной системы. На рис. 17.3 показан вывод новостей в Chameleon. Список новых групп новостей выводится щелчком мыши на соответствующем пункте меню.

Рис. 17.3.

Пункты меню для групп

На рис. 17.4 показан отслеживаемый набор групп новостей (на которые подписался пользователь).

Рис. 17.4. Просмотр групп, на которые подписался пользователь

Список непрочитанных статей из популярной группы news.answers запрашивается двойным щелчком мыши на строке news.answers. Результат этой операции представлен на рис. 17.5, а сама статья — на рис. 17.6. Длинный заголовок статьи можно не выводить, если только этого не захочет сам пользователь.

Рис. 17.5. Список непрочитанных статей из группы news.answers

Рис. 17.6. Вывод выбранной статьи

На рис. 17.7 показан вывод статьи из группы новостей в браузере WWW (в данном случае — Netscape Navigator), применяющемся для чтения статей. Сама статья была написана информационным агентством Рейтер и опубликована в электронном виде через службу новостей Clarinet.

Рис. 17.7. Статья сетевых новостей

17.7 Протокол NNTP

17.7.1 Команды NNTP

Для доступа к статье группы новостей клиентский процесс соединяется с портом 119 сервера новостей. Клиент отправляет серию команд и получает на них ответы. Команды не чувствительны к регистру символов.

Существуют команды для запроса:

■ Списка всех групп

■ Выбора конкретной группы

■ Выбора определенной статьи

Указатель на текущую статью (current article pointer) сервера сохраняет свою позицию на время сеанса пользователя. Команды NNTP перечислены в таблице 17.1.

Таблица 17.1 Команды и параметры NNTP

Команда Параметры Описание
article "<Идентификатор сообщения>", номер статьи или ничего Извлечение статьи по идентификатору или номеру либо извлечение текущей статьи
body Извлечение содержимого текущей статьи
group Имя группы Переход к указанной группе новостей
head Вывод заголовка текущей статьи
help Запрос списка поддерживаемых сервером команд
ihave <Идентификатор сообщения> Сервер указывает другому серверу на наличие статьи. При необходимости копия статьи может быть затребована другим сервером.
last Перемещение
указателя текущей статьи на одну статью назад в списке текущей группы
list Запрос списка групп новостей и количества доступных в них статей
newgroup Дата, время Запрос списка групп новостей (при необходимости по категориям), созданных после указанной даты и времени
и необязательный параметр <распространитель>
newnews Группа новостей, дата, время и необязательный параметр <распространитель> Запрос списка новых статей группы, опубликованных после указанной даты и времени
next Перемещение указателя текущей статьи на одну статью вперед в списке текущей группы
post Опубликовать новую статью в группе новостей
quit Выход
slave Указывает на запрос от почтового сервера, а не от отдельного клиента
stat Номер сообщения Выбор статьи

Необязательный параметр <распространитель> (distributions) разрешает пользователю выбрать список категорий высокого уровня, например comp или news. Список должен заключаться в угловые скобки, а его элементы разделяться запятыми. Например, ниже показан список новых групп новостей, расположенных под sci:

newsgroup 950601 010000 <sci>

231 New newsgroups follow.

sci.physics.cond-matter 552 1 y

sci.techniques.mass-spec 279 1 m

sci.psychology.consciousness 164 1 m

. . .

17.7.2 Коды состояния NNTP

В диалоге из раздела 17.5 видно, что каждый ответ сервера NNTP начинается с числового кода состояния. При этом используются одинаковые для серверов SMTP и FTP правила:

1xx Информационное сообщение
2xx Успешная команда
3xx Команда пока была успешна, нужно послать ее остаток
4xx Команда корректна, но не выполнена по некоторым причинам
5xx Команда не реализована или неверна, либо возникла серьезная ошибка в программе

Как и ранее, вторая цифра кода представляет более специфичную информацию:

x0x Соединение, установка или дополнительное сообщение
x1x Выбор новой группы новостей
x2x Выбор статьи
x3x Функция распространения
x4x Публикация
x8x Нестандартное расширение
x9x Отладочный вывод
Поделиться с друзьями: