Розетки Silverlight или запросы в БД? - PullRequest
1 голос
/ 12 февраля 2009

Я сейчас пишу пошаговую RPG для задания. В игре игроки могут общаться друг с другом и отправлять свои действия после завершения хода. Как лучше всего позаботиться об обмене данными между игроками. Сокеты или хранение всей информации в базе данных и программа периодически делает запросы на проверку каких-либо обновлений? Если нет лучшего подхода.

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

Ответы [ 3 ]

3 голосов
/ 12 февраля 2009

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

Windows Communication Foundation (WCF) довольно удобен для работы в Silverlight2. Пошаговая игра делает вещи немного проще, потому что это означает, что вам не нужно поддерживать одно и то же игровое состояние между игроками в режиме реального времени (т.е. не стремиться к максимальной задержке 100 мс).

1 голос
/ 24 февраля 2009

Есть две основные возможности. Вы можете применить Sockets или использовать Duplex WCF . Вот компромиссы:

Сокеты => лучшая производительность по сравнению с меньшей производительностью
Дуплекс WCF => худшая производительность, но большая производительность

В сети есть несколько отличных примеров для обоих сценариев, но если вы решите выбрать решение WCF, вот некоторые ресурсы:

A очень хороший урок от Peter McG.
Информация о дуплекс WCF от MSDN.

1 голос
/ 12 февраля 2009

Используйте WCF, если это возможно.

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