Модели ввода-вывода сокетов и их сравнение

· Блокирующий ввод-вывод

· Модель Select

· Модель ввода-вывода WSAAsyncSelect.

· Модель ввода-вывода WSAEventSelect.

· Модель перекрытого ввода-вывода.

· Модель портов завершения.

У каждой из моделей свои достоинства и недостатки, и все модели сложнее в программировании, чем простой ввод-вывод с блокировкой и несколькими потоками Рассмотрим возможные решения для разработки клиентских и серверных приложений

Клиент

При разработке клиентского приложения, управляющего одним или не-сколькими сокетами, мы рекомендуем использовать модель перекрытого ввода-вывода или модель WSAEventSelect для увеличения производительности Впрочем, при разработке приложения Windows, работающего с сообщениями окна, модель WSAAsyncSelect может быть лучше, гак как сама опирается на модель сообщений Windows, а ваше приложение уже содержит механизм обработки сообщений

Сервер

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

Резюме

Мы рассмотрели все модели ввода-вывода, доступные в Winsock Они позво-ляют приложению использовать ввод-вывод Winsock в соответствии со своими нуждами от простого ввода-вывода с блокировкой до быстрого ввода-вывода через порт завершения


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: