Как написать масштабируемый сервер Tcp/Ip

Материал из Wiki Test Lab
Перейти к: навигация, поиск

Назад    Главная
 

Как написать масштабируемый сервер Tcp/Ip

Я нахожусь на этапе проектирования нового приложения Windows Service, которое принимает соединения TCP/IP для длинных подключений (т.е. это не похоже на HTTP, где есть много коротких соединений, а клиент подключается и остается подключенным в течение нескольких часов или дней или даже недель).

Я ищу идеи для наилучшего способа проектирования сетевой архитектуры. Мне нужно запустить хотя бы один поток для службы. Я рассматриваю возможность использования API Asynch (BeginRecieve и т.д.), Так как я не знаю, сколько клиентов я буду подключать в любой момент времени (возможно, сотни). Я определенно не хочу запускать нить для каждого соединения.

Данные будут поступать в первую очередь клиентам с моего сервера, но иногда будут поступать команды от клиентов. Это, прежде всего, приложение для мониторинга, в котором мой сервер периодически отправляет данные о состоянии клиентам.

Личные инструменты