Нужно руководство по многопользовательским игровым сессиям с использованием ASP.NET - PullRequest
1 голос
/ 25 октября 2009

Моя цель на данный момент состоит в том, чтобы найти пользователя для поиска других пользователей, которые хотят идти лицом к лицу, чтобы увидеть, кто из них может выполнить головоломку быстрее всего. У меня есть идея, чтобы пометить пользователя, который в настоящее время в сети, с помощью поставщика членства.

Я бы хотел, чтобы сервер мог посылать одну и ту же головоломку одновременно двум разным пользовательским сеансам и прислушиваться к тому, кто первым выполняет головоломку. Насколько это возможно с ASP.NET? Или я должен смотреть на другие технологии?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 октября 2009

Я думаю, что столько, сколько вы описали, можно сделать в ASP.NET.

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

Это довольно минималистичный подход, но не важно.

Один из способов обновить состояние, чтобы определить, кто находится в сети, - создать модуль HttpModule, который проверяет, находится ли вызывающий абонент в сети, и обновляет состояние, если это так. HttpModule будет иметь событие, которое запускает пост-аутентификацию для обновления состояния пользователей. Также отслеживать, когда они были в последний раз активны.

Что касается «отправки головоломки», то это другое дело. Если достаточно, чтобы пользователь зашел на страницу, чтобы найти головоломку, просто добавьте страницу, которая загружает текущую головоломку. Если головоломка людей должна появляться без действий пользователя, у вас может быть страница, которую они посещают и которая использует AJAX, чтобы проверять наличие новой головоломки каждые несколько секунд.

0 голосов
/ 25 октября 2009

Смарт-клиент будет самым простым способом сделать это, но он заставит вас загрузить «игру» для клиентов. ASP.NET предоставит вам веб-интерфейс, но будет сложнее отправлять головоломки клиентам одновременно (заставляя локальный браузер ждать этого события ...) - все остальное легко в ASP.NET .

...