Mailslot


Мэйлслот — один из механизмов межпроцессного взаимодействия, обеспечивающий однонаправленную передачу информации и позволяющий производить широковещательную рассылку сообщений по сети.

Реализация

Мэйлслот является клиент-серверным интерфейсом. Сервер мэйлслотов — процесс, который создаёт мэйлслот и может читать из него информацию. Мэйлслот существует до тех пор, пока не закрыты все его серверные дескрипторы. Если несколько серверных процессов внутри домена создадут мэйлслоты с одинаковым именем, то сообщения, адресованные этому мэйлслоту и посылаемые в домен, будут приниматься всеми создавшими его процессами. Клиентом мэйлслота может быть любой процесс, знающий его имя. Клиент записывает в мэйлслот сообщения для передачи их посредством датаграмм серверу. Один и тот же процесс может быть одновременно клиентом и сервером мэйлслотов.

Для создания мэйлслотов используется специальное пространство имён «.mailslot[путь]имя». Для записи информации в мэйлслот на локальном компьютере клиентом используется то же самое имя, что использовалось сервером для создания мэйлслота. Для записи информации в мэйлслот удалённого компьютера используется форма «имя компьютераmailslot[путь]имя». Для записи информации во все мэйлслоты домена указывается имя домена или звёздочка, обозначающая первичный домен системы: «имя доменаmailslot[путь]имя» или «*mailslot[путь]имя».

Для создания мэйлслота сервером используется специальная функция Windows API CreateMailslot. Для создания дескриптора мэйлслота клиентом, записи информации клиентом, чтения её сервером и закрытия дескриптора используются функции для работы с файлами CreateFile, WriteFile, ReadFile, CloseHandle.

Некоторые программы, использующие мэйлслоты:

  • MAILSLOTMessngr — Microsoft NET SEND Protocol
  • MAILSLOTBrowse — Microsoft Browser Protocol
  • MAILSLOTAlerter
  • MAILSLOT53cb31a0UnimodemNotifyTSP
  • MAILSLOTHydraLsServer — Microsoft Terminal Services Licensing
  • MAILSLOTCheyenneDS — CA BrightStor Discovery Service


Имя:*
E-Mail:
Комментарий: