在使用ASP.NET的多人游戏会话上需要一些指导

时间:2009-10-24 21:45:49

标签: c# asp.net session multiplayer

我现在的目标是让用户搜索其他用户,他们希望能够最快速地完成拼图。我对此有一个想法,即使用会员提供商标记当前在线的用户。

我希望服务器能够同时向两个不同的用户会话发送相同的谜题,并先听取谁完成谜题,这对于ASP.NET有多可行?或者我应该关注其他技术?

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为你所描述的内容可以在ASP.NET中完成。

要跟踪在线用户,除非您的网站非常大,否则您可能只是在内存中跟踪它。如果您的网站刷新,这将被删除,如果您需要扩展到多个服务器,它将无法工作,但它听起来不像是一个问题。只需保留一个将用户名映射到用户状态的词典。

这是一种非常简约的方法,但无论如何。

更新状态以检测其在线是否构建HttpModule的一种方法,该HttpModule检查调用者是否在线并且如果是,则更新状态。 HttpModule将有一个事件在运行身份验证后运行以更新用户状态。还要跟踪它们最后一次活动的时间。

就“发送拼图”而言,这是另一回事。如果足以让用户前往页面寻找拼图,那么只需添加一个加载其当前拼图的页面即可。如果人物拼图需要在没有用户操作的情况下出现,您可以让他们访问的页面使用AJAX来检查每隔几秒钟是否有新拼图。

答案 1 :(得分:0)

智能客户端将是实现它的最简单方法,但它会迫使您将“游戏”下载到客户端。 ASP.NET将为您提供基于Web的体验,但同时将难题发送给客户端会很困难(迫使本地浏览器等待此事件...) - 其余部分在ASP.NET上很容易