4

我想使用 aspx 和 ajax 创建一个交互式网站,例如,可以选择创建国际象棋游戏室,其他玩家也可以加入。

我有 2 个问题:

  1. 我想知道您是否知道如何在一名玩家点击按钮并完成他的回合后,另一名玩家将能够移动。

第一个玩家完成回合后,我将使用数据库更改回合,但关键是如何刷新其他玩家的站点,以便当另一个玩家完成回合时,轮到第二个玩家?

  1. 当有人创建一个房间并关闭他的浏览器时 - 我需要关闭那个房间。我应该使用 Session_OnEnd 关闭他打开的房间吗?

谢谢!

4

2 回答 2

1

我想知道您是否知道如何在一名玩家点击按钮并完成他的回合后,另一名玩家将能够移动。

有很多方法可以做到这一点。如果是我,我会有一个“移动”数据库表或其他东西,并跟踪谁在里面移动它。然后在页面上有SetInterval()javascript 方法,该方法使用 ajax 服务查看该“移动”表并确定用户何时轮到。

当有人创建一个房间并关闭他的浏览器时 - 我需要关闭那个房间。我应该使用 Session_OnEnd 关闭他打开的房间吗?

您可以使用Session_OnEnd. 作为替代方案,您可以使用检查moves表的 ajax 方法来查看用户何时没有在 x 分钟内检查,然后关闭他们的会话。

于 2010-06-11T15:29:14.183 回答
0
  1. 最简单的方法可能是对每个客户端进行简单的心跳/轮询,看看是否轮到他/她。虽然,这些天推/彗星变得越来越容易。

  2. 如果您已经在使用轮询/心跳技术,那么在错过 5 次心跳之后关闭会话将是微不足道的。

于 2010-06-11T15:24:19.993 回答