我正在尝试创建实时和协作应用程序,例如 - google wave。当 user1 同时写东西时,它会显示在 user2 屏幕上。
我开始了一些研究,并找到了一些使用 Ajax 的方法 -
1.每 X 秒向服务器发送请求并检查“发生了什么”
2.timeout - 长请求,问题 - 我看到我只能用 IE8 做到这一点
还有其他选择吗?最好的方法是什么?
使用方式 2,这是真的我只能用 IE8 做到这一点吗?
约西
我正在尝试创建实时和协作应用程序,例如 - google wave。当 user1 同时写东西时,它会显示在 user2 屏幕上。
我开始了一些研究,并找到了一些使用 Ajax 的方法 -
1.每 X 秒向服务器发送请求并检查“发生了什么”
2.timeout - 长请求,问题 - 我看到我只能用 IE8 做到这一点
还有其他选择吗?最好的方法是什么?
使用方式 2,这是真的我只能用 IE8 做到这一点吗?
约西
我不确定你在 2 中指的是什么,但如果我要实现这样的东西,我会按照你在 1 中的解释做。基本上你的服务器会跟踪对话,客户端会不断地要求更新。
另一种可能的选择是闪存,但除了它有能力之外,我对此知之甚少,所以你自己研究一下。
在选项 1 中保持快速运行的一些注意事项:
请记住,您在客户端只有 2 个“ajax”调用可以使用(一次只能有 2 个调用)。因此,请跟踪已拨出的电话。如果调用时间过长或其响应不再有效,请使用 abort()。
充分利用您的通话,如果您需要向服务器发送文本,请使用响应来获取当前“对话”的更新。
AJAX 的全部意义在于服务器可以等待来自每个客户端的通知,并在发生某些事情时通知所有其他客户端。没有必要进行轮询。查找关键字,如comet
, 和bayeux
。Dojo 有一个很好的实现。