Как написать масштабируемый сервер на базе TCP/IP [закрыто]C#

Место общения программистов C#
Anonymous
Как написать масштабируемый сервер на базе TCP/IP [закрыто]

Сообщение Anonymous »

Я нахожусь на этапе разработки нового приложения-службы Windows, которое принимает TCP/IP-соединения для длительных соединений (т. е. это не HTTP, где много коротких соединений, а скорее клиент подключается и остается на связи в течение нескольких часов, дней или даже недель).
Я ищу идеи для лучшего способа проектирования сетевой архитектуры. Мне нужно будет запустить хотя бы один поток для службы. Я подумываю об использовании Asynch API (BeginRecieve и т. д.), поскольку не знаю, сколько клиентов я подключу в любой момент времени (возможно, сотни). Я определенно не хочу запускать поток для каждого соединения.
Данные в основном будут передаваться клиентам с моего сервера, но иногда от клиентов будут отправляться некоторые команды. В первую очередь это приложение для мониторинга, в котором мой сервер периодически отправляет клиентам данные о состоянии.
Как лучше всего сделать это максимально масштабируемым? Базовый рабочий процесс?
Чтобы внести ясность: я ищу решения на основе .NET (если возможно, C#, но подойдет любой язык .NET).
Мне понадобится рабочий пример решения, либо в качестве указателя на что-то, что я мог бы загрузить, либо в виде короткого встроенного примера. И он должен быть основан на .NET и Windows (допускается любой язык .NET).

Подробнее здесь: https://stackoverflow.com/questions/869 ... sed-server

Вернуться в «C#»