Какие технологии использоватль для клиент-серверного приложения .NET?

Добрый день,
подскажите какие технологии использовать для создания сервера, рассчитанного на большое количество клиентов с помощью .NET. Интересует построение масштабируемого, распределенного серверного приложения. Очень желательно, чтобы поддерживались Mono. До этого использовал только голые сокеты, но, думаю, они не подойдут. Подскажите книги/статьи, вообще, в какую сторону смотреть.
  • Вопрос задан
  • 3402 просмотра
Пригласить эксперта
Ответы на вопрос 4
bobermaniac
@bobermaniac
WCF
Ответ написан
Комментировать
magnitudo
@magnitudo
Архитектор, программист, предприниматель...
Голые сокеты это самый гибкий вариант — напишите именно то, что вам нужно! Задача довольно сложная, но вполне решаемая, особенно если сначала подумать, а потом писать код.

WCF очень неплохой вариант — всё написано за вас, но максимума производительности не получить, да и с взаимодействием с не .Net могут быть проблемы, если об этом не задумываться. Я бы посоветовал на начальном этапе использовать именно его.

Посмотрите также в сторону google protocol buffers в качестве подспорья по оптимизации сетевого обмена. Его можно использовать как с WCF, так и на голых сокетах. Снимает головняк по вопросам подготовки данных перед отправкой в канал.
Ответ написан
@z130
Webservice тоже может быть сойдет — проблем с разными платформами тут точно не будет, объекты прозрачно сериализуются в понятный глазу XML.
Но, нужно смотреть ваш протокол обмена — все-таки webservice не заточен под непрерывное удержание канала связи с клиентом.
По масштабированию, если все-таки будет тормозить фронт — просто поставите несколько серверов.
А Mono вам зачем — на лицензии Windows сэкономить?
Ответ написан
@Gwynbleidd
Возможно, вам подойдет .NET Remoting, хоть он и считается устаревшим.
С ним проблем на Mono поменьше, чем с WCF. Хоть WCF всяко предпочтительнее выглядит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы