编写ASP.NET中的游戏大厅

时间:2011-06-01 18:08:39

标签: asp.net timer comet reverse-ajax

我有一个在线3D多人游戏,它使用插件将自己嵌入到网页中,我试图找出如何为它制作基于网络的大厅而不转向Flash。

这个想法是登录的玩家在页面上选择游戏类型并自动被带到一个接受 x 玩家的开放式游戏。大厅是一个网页,用户可以选择他们的皮肤和升级。一旦 x '玩家加入,大厅就应该开始倒计时,在其成功完成后,将所有用户重定向到另一个加载嵌入式游戏的页面并将这些用户一起带入同一个服务器。

如果用户在计时器结束前退出大厅/页面,倒计时需要停止,大厅必须等待房间再次满员。我不知道如何做这个部分,因为看起来我需要一些服务器端计时器对象,它知道玩家何时离开。我正在考虑使用WebSync与大厅页面中的每个用户进行通信,了解当前大厅中有多少玩家,我假设我也可以使用它来发送命令来启动用户成功计时器倒计时后的新页面。我还想象我可以使用WebSync或其他东西让我的服务器知道有人离开大厅以便停止倒计时。

如何创建此服务器端计时器以及如何与其进行交互?我正在考虑使用Quartz.Net来访问调度程序或其他东西,但我还不确定。

任何想法?

1 个答案:

答案 0 :(得分:1)

您是否可以选择使用WebSockets?您可以(或多或少地立即)监视状态更改,并在事件发生时更新客户端和服务器。

您可以在预定义的时间从服务器发送一大块数据,并在客户端上运行javascript以将用户踢到新页面/在计时器结束时执行某些操作(或者玩家离开或加入游戏。 )

(插件:朋友和我写了一个C#库,有一个实时聊天的例子,在这里找到:https://github.com/Olivine-Labs/Alchemy-Websockets