Преимущество использования асинхронного сокет-сервера - PullRequest
0 голосов
/ 11 ноября 2011

В какой ситуации мы должны использовать сервер асинхронных сокетов (Tcp или Udp) вместо сервера сокетов синхронизации?

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

1 Ответ

2 голосов
/ 11 ноября 2011

На стороне сервера важно разрешить параллельную обработку клиентов. Если вы обрабатываете большой запрос для одного клиента, вы не хотите, чтобы время ожидания запроса на подключение второго клиента истекло. Это не означает, что у вас есть для использования асинхронных методов. Вы можете легко создать отдельный поток для каждого подключенного клиента и принимать новых клиентов в основном потоке синхронно (а для Udp вы можете использовать очередь обработки каждого сообщения в потоке из ThreadPool).

Асинхронные методы сокетов уже позаботятся о параллельности (также используя отдельные потоки), так что это хорошая техника для обеспечения бесперебойной работы вашего сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...