Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

Почтовые каналы передачи данных Mailslot

Тип: контрольная работа
Категория: Информатика
Скачать
Купить
Почтовые каналы передачи данных MailslotСпособы организации передачи данныхРассмотрим простой способ организации передачи данных между различными процессами, основанный на использовании дейтаграммных каналов Mailslot. Каналы Mailslot позволяют выполнять одностороннюю передачу данных от одного или нескольких клиентов к одному или нескольким серверам.Главная особенность каналов Mailslot заключается в том, что они, в отличие от других средств, рассмотренных нами, позволяют передавать данные в широковещательном режиме. Это означает, что на компьютере или в сети могут работать несколько серверных процессов, способных получать сообщения через каналы Mailslot. При этом один клиентский процесс может посылать сообщения сразу всем этим серверным процессам.С помощью каналов Pipe вы не сможете передавать данные в широковещательном режиме, так как только два процесса могут создать канал типа Pipe.MailSlot - это файл, находящийся в памяти, доступ к которому осуществляется стандартными файловыми функциями Win32. Данные в Mailslot могут быть в любой форме, но общий размер не может быть больше 64K. Различают два типа процессов: MailSlot-сервер и MailSlot-клиент.MailSlot-cервер - является процессом, который создает и обладает MailSlot. Когда сервер создает MailSlot, он получает хэндл. Этот хэндл должен использоваться, когда процесс читает сообщения от MailSlot. Только процесс, который создает MailSlot или получает хэндл некоторым другим механизмом, может прочитать данные из MailSlot. Все MailSlot локальные на процессе, который создает их. Процесс не может создать дистанционный MailSlot. MailSlot-клиент - является процессом, который пишет сообщение в MailSlot. Любой процесс, который имеет имя MailSlot может записать в него информациюТаким образом, MailSlot представляет собой простой и однонаправленный интерфейс взаимодействия между процессами. Процесс-сервер может завести почтовый ящик и дать ему имя, глобальное в сети. Любой клиент может с помощью операций работы с файлами отправить данные в этот ящик. Сервер, по мере необходимости, может читать переданные ему данные. Кроме этого, возможно широковещательная передача информации клиентом всем серверам домена.Рассмотрим наиболее важные функции программного интерфейса Windows, предназначенные для работы с каналами MailSlot, которые сведем в таблицу 1.Таблица 1Функции для работы с каналами MailSlotСоздание канала MailslotКанал Mailslot создается серверным процессом с помощью специально предназначенной для этого функции CreateMailslot(). После создания серверный процесс получает хэндл канала Mailslot. Пользуясь этим хэндло, сервер может читать сообщения, посылаемые в канал клиентскими процессами. Однако сервер не может выполнять над каналом Mailslot операцию записи, так как этот канал предназначен только для односторонней передачи данных - от клиента к серверу.Синтаксис функции следующийHANDLE CreateMailslot (LPCTSTR lpName, DWORD nMaxMsgSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes) Параметры:lpName – указатель на строку имени канала Mailslot.nMaxMsgSize – максимальный размер сообщения. lReadTimeout – время ожидания для чтения. lpSecurityAttributes – указатель на атрибуты защитыВозвращаемое значение. При успешном выполнении – хэндл созданного канала Mailslot, при ошибке – INVALID_HANDLE_VALUEКод ошибки уточняется при вызове функции GetLastError()Через первый параметр lpName передаются функции CreateMailslot()указатель на строку символов с именем канала Mailslot. Эта строка имеет следующий вид: \\.\mailslot\[Путь]ИмяКаналаВ этом имени путь является необязательной компонентой. Тем не менее, вы можете указать его аналогично тому, как это делается для файлов. Что же касается имени канала Mailslot, то оно задается аналогично имени канала Pipes.Второй параметр nMaxMsgSize определяет максимальный размер сообщений, передаваемых через создаваемый канал Mailslot. Здесь можно указать нулевое значение, при этом размер сообщений не будет ограничен. Есть, однако, одно исключение - размер широковещательных сообщений, передаваемых всем рабочим станциям и серверам домена не должен превышать 400 байт.С помощью третьего параметра lReadTimeout серверное приложение может задать время ожидания для операции чтения в миллисекундах, по истечении которого функция чтения вернет код ошибки. Если указать в этом параметре значение MAILSLOT_WAIT_FOREVER, ожидание будет бесконечным.Четвертый парам...
Другие файлы:

Аппаратные компоненты сети
Технологии и каналы передачи данных компьютерных сетей. Коаксиальные кабельные каналы. Технические средства коммуникации, сетевое оборудование: сетевы...

Эксплуатация мультисервисной сети
Анализ применяемых технологий в мультисервисных сетях. Сосуществование сетей АТМ с традиционными технологиями локальных сетей. Характеристика сети пер...

Исследование алгоритмов управления ресурсами однопроцессорных серверов при оперативной обработке задач
Производительность алгоритмов SPT и FB. Глобальные переменные и константы программы. Компьютерная сеть передачи данных. Каналы передачи данных и средс...

Передача данных. Техника связи в системах телеобработки данных. Том 2. Устройства и системы
Описываются технические средства передачи данных, причем наиболее подробно - аппаратура передачи данных (АПД). Большое внимание уделяется стыкам АПД с...

Современные системы передачи данных
Понятие и классификация систем передачи данных. Характеристика беспроводных систем передачи данных. Особенности проводных систем передачи данных: опти...