Пошаговая многопользовательская игра: WCF или Socket?

Я хотел бы получить совет относительно моей проблемы.

Мы создаем многопользовательскую шахматную интернет-игру, имеющую следующие особенности:

  1. Игра будет поддерживать очень большое количество одновременных пользователей
  2. Мы будем физически сохранять каждый игровой ход на диск (например, используя базу данных SQL Server).
  3. Мы также будем использовать один и тот же SQL Server для сеансов
  4. Для балансировки нагрузки / масштабируемости будут использоваться несколько игровых серверов
  5. Все игровые серверы будут подключены друг к другу
  6. Все игровые серверы также будут подключены к этому SQL-серверу
  7. Так как это шахматная игра, поэтому только 2 пользователя могут играть в игру, но
  8. Неограниченное количество пользователей может просматривать эту игру в режиме реального времени как аудитория (трансляция)
  9. Аудитория / Пользователи игры будут иметь возможность отправлять и получать сообщения чата, в частном или публичном порядке.
  10. Мы будем вести наш собственный список пользователей в базе данных. Поэтому нам потребуется настраиваемая система аутентификации.

Клиентом будет настольное приложение windows forms / wpf. Мы также думаем о версии на основе онлайн-браузера, но мы отложили ее на будущее, в настоящее время мы сосредоточены на настольной версии.

Теперь у меня есть вопросы?

  1. Какую технологию мы должны использовать, сокеты или WCF?
  2. Какой способ сериализации предпочтительнее: XML, двоичный или пользовательский Двоичный?

Любые другие советы / предложения / указания также приветствуются.

Спасибо

10
задан Aaronaught 17 August 2011 в 12:00
поделиться