Книга: Системное программирование в среде Windows
Сравнение серверов именованных каналов и сокетов
Сравнение серверов именованных каналов и сокетов
Установка соединения с несколькими клиентами при использовании сокетов требует выполнения повторных вызовов функции accept. Каждый из вызовов возвращает очередной подключенный сокет. По сравнению с именованными каналами имеются следующие отличия:
• В случае именованных каналов требуется, чтобы каждый экземпляр именованного канала и дескриптор типа HANDLE создавались с помощью функции CreateNamedPipe, тогда как для создания экземпляров сокетов применяется функция accept.
• Допустимое количество клиентских сокетов ничем не ограничено (функция listen ограничивает лишь количество клиентов, помещаемых в очередь), в то время как количество экземпляров именованных каналов, в зависимости от того, что было указано при первом вызове функции CreateNamedPipe, может быть ограниченным.
• Не существует вспомогательных функций для работы с сокетами, аналогичных функции TransactNamedPipe.
• Именованные каналы не имеют портов с явно заданными номерами и различаются по именам.
В случае сервера именованных каналов получение пригодного для работы дескриптора типа HANDLE требует вызова двух функций (CreateNamedPipe и ConnectNamedPipe), тогда как сервер сокета требует вызова четырех функций (socket, bind, listen и accept).
- Сравнение именованных каналов и сокетов
- Сравнение клиентов именованных каналов и сокетов
- Совместимость клиентов и серверов различных версий
- 1.3.3. Достоинства и недостатки анонимных прокси-серверов
- 8.1.4. Сравнение массивов
- 4.2 Сравнение SAN и NAS
- Использование каналов RSS
- Сравнение C# и C++
- Ключевые факторы успешного отбора каналов коммуникаций
- 7.4. Создание виртуальных Web-серверов
- Фильтрация серверов
- 10.4. Создание виртуальных серверов