Доброе время суток, пишу многопоточное распределенное приложение: сервер-много клиентов. Есть 3 основных потока: 1 — работа с базой; 2 — работа с сетью; 3 — основной поток приложения Поток, отвечающий за работу с сетью при наличии входящего сообщения или сообщения для отправки создает еще один поток для отправки или приема сообщения. В результате получается неизвестное количество потоков. Подскажите, есть ли смысл при такой организации приложения для работы с сетью заводить AppDomain и используя маршалинг общаться с основным потоком приложения?

Чак Норрис

А каким образом клиенты взаимодействуют с сервером (WCF, Web-сервисы)? И что представляет из себя сервер — консольное приложение, веб-приложение в IIS или что-то еще?

SiberianWolf

Клиенты общаются с сервером по средствам сокетов, пока обмениваются только сообщениям через сокеты. Изначально планируется WinForms-приложение, работающее в локальной сети. Сервер по-сути является таким же winforms приложением, только с единственным отличием - получает сообщения от всех клиентов и выводит на экран необходимые данные(без отправки их куда-либо по сети). Сейчас пытаюсь определиться каким лучше образом синхронизировать потоки сервера и что при этом использовать.