Индустрия программирования

Partse.ru предлагает: запчасти на Mercury Topaz в Екатеринбурге!

Одна из возможных конфигураций программных гнезд



Допустимые комбинации протоколов и драйверов задаются
при конфигурации системы

  • во время работы системы менять нельзя

По духу организация программных гнезд близка к идее
потоков
Но менее гибкая схема

  • не допускает изменения конфигурации "на
    ходу"

Взаимодействие процессов основано на модели "клиент-сервер"

  • процесс-сервер "слушает (listens)"
    свое программное гнездо
  • процесс-клиент пытается общаться с процессом-сервером
    через другое программное гнездо
  • ядро поддерживает внутренние соединения и маршрутизацию
    данных от клиента к серверу

Программные гнезда с общими коммуникационными свойствами,
такими как способ именования и протокольный формат адреса, группируются
в домены

  • "домен системы UNIX"
    для процессов, которые взаимодействуют через программные гнезда
    в пределах одного компьютера
  • "домен Internet"
    для процессов, которые взаимодействуют в сети в соответствии с
    семейством протоколов TCP/IP

Два типа программных гнезд

  • с виртуальным соединением (stream sockets)
  • дейтаграммные гнезда (datagram sockets)

Виртуальные соединения:

  • передача данных от клиента к серверу в виде непрерывного
    потока байтов с гарантией доставки
  • до начала передачи данных должно быть установлено
    соединение

Дейтаграммные программные гнезда:

  • не гарантируют абсолютной надежной, последовательной
    доставки сообщений и отсутствия дубликатов дейтаграмм
  • не требуется предварительное установление соединений

По умолчанию обеспечивается подходящий протокол
для каждой допустимой комбинации "домен-гнездо"


  • TCP для виртуальных соединений
  • UDP для дейтаграммного способа коммуникаций

Создание нового программного гнезда:
sd = socket(domain, type,
protocol);

  • domain
    - домен гнезда
  • type - тип (с
    виртуальным соединением или дейтаграммное)
  • protocol - желаемый
    сетевой протокол
  • sd - дескриптор
    программного гнезда

Закрытие (уничтожение) гнезда
close(sd)
Связывание ранее созданного программного гнезда
с именем:




Начало  Назад  Вперед



Книжный магазин