|
|
|
Модели передачи статей
Как уже было отмечено выше, система UseNet для формирования и тиражирования своих статей использует почтовые сообщения. Поэтому для функционирования системы UseNet настоятельно рекомендуется, чтобы участвующие в обмене сообщениями хосты использовали совместимые почтовые системы. В противном случае система будет использовать только часть параметров, что существенно уменьшит возможности организации дискуссий. Примечание Например, поле "From:" сообщений новостей нельзя будет использовать в его стандартном виде, если синтаксис имен хостов во взаимодействующих системах будет различным. Системы, использующие для передачи статей дискуссий электронную почту (это системы, использующие метод передачи по спискам рассылки), должны отличать отправку и получение статей дискуссий от обычных почтовых сообщений. В противном случае могут возникнуть проблемы, связанные, например, с идентификацией поля "From:", поскольку отправители почтового сообщения и статьи могут не совпадать. Другая проблема может возникнуть с интерпретацией ошибочных сообщений и возвращением ошибок отправителю, которые не совпадают друг с другом в почтовой системе и системе новостей. Одним из решений этой проблемы является инкапсуляция статьи дискуссии, вместе с заголовком, в тело почтового сообщения. Для этого в начало каждой строчки статьи новостей, как тела, так и заголовка, вставляется буква "N". После этого статья записывается в тело почтового сообщения. Это гарантирует, что ни одна строчка статьи не будет интерпретироваться почтовым сервером как управляющая для почтового сообщения. Программа, ко-горая получит такое сообщение, извлекает из него статью и передает ее соответствующей программе обработки статей дискуссий. В таком формате сообщение будет выглядеть следующим образом: Подобная форма передачи статей позволяет отдельно задавать приоритеты почтовых сообщений и статей новостей. Как правило, статьи новостей очень небольшого размера, поэтому имеет смысл передавать их пакетами, по несколько статей в каждом. Такие пакеты имеют свой формат, понятный взаимодействующим хостам. Например, пакет может быть построен так, что каждому сообщению в пакете предшествует строка "#!rnews <number>", где <number> — длина статьи. Такой пакет будет выглядеть следующим образом: В данном примере, символ "#" используется как идентификатор, а строка "rnews" задает формат пакета. Примечание Некоторые сети позволяют работать с механизмом удаленных процедур. В таких сетях статьи новостей могут передаваться через удаленные вызовы процедур серверов новостей (например, через стандартные потоки ввода/вывода UUCP-соединения). В этом случае важно, чтобы статьи отправлялись через достоверное соединение, т. е., если во время работы удаленной системы произойдет сбой, поток передачи должен восстановиться при восстановлении ее работоспособности. |
|
|