0

我正在制作一个多人 Flash 游戏,在“桌子”上将有两个以上的玩家在玩。它的回合制。使用 zendAMF 是否可以让服务器响应等待轮到的玩家移动,以便看起来是实时的?

我不想使用轮询,因为我读到这不是一个很好的做法。相反,这种方法可以工作吗?假设轮到它的玩家 A 和其他玩家 B、C、D 正在等待。他们的闪存客户端向服务器发送请求以获取任何更新。服务器可以不立即响应,而是等到玩家 A 采取行动,然后将包含玩家 A 移动细节的响应发送给其他玩家 B、C、D?

编辑:添加图像。

找到此方法的名称。它称为长轮询。那么可以使用运行 apache 的 PHP 网络服务器并使用发送请求的 flash 客户端来完成长轮询吗?

这就是等待玩家 B、C、D 的其他玩家应该被对待的方式。

在此处输入图像描述

4

1 回答 1

0

通常在这样的情况下,您会等待玩家 A 轮到他们,然后再将结果发送给所有人。不过,请在上面设置一个计时器,这样您就不会永远等待。

比如:轮到 PlayerA,PlayerA 做某事(验证,然后通知 PlayerB、PlayerC 和 PlayerD)。轮到 PlayerB,PlayerB 做某事(验证,然后通知 PlayerA、PlayerC 和 PlayerD)。轮到 PlayerC,PlayerC 超时(5/10 秒),做默认动作然后通知所有玩家。轮到玩家D了……

于 2011-04-20T14:11:26.620 回答