【发布时间】:2012-05-21 08:01:11
【问题描述】:
我开发了一个基于 Web 的应用程序,在该应用程序中,登录用户应该每 3 秒向服务器发送一条消息,告诉他他仍然在线。然后消息由服务器处理,并在 Mysql 中调用存储过程将用户的状态设置为在线。 我已经研究过比较 Comet 和 Ajax 的类似问题(here 或 here),但考虑到 3 秒延迟是可以接受的并且系统中最多有 1000 个用户在线,因此使用 Ajax 是一个明智的选择或应该用彗星?
【问题讨论】:
-
正如您所描述的,您需要每 3 秒将数据从客户端发送到服务器。因此,您可以根据需要使用 AJAX。每当您想将信息从服务器推送到信息可用性未知的客户端时,您可以考虑 Comet。
-
web socket 不是一个选项,因为应用程序应该能够在 IE 上运行
-
如果您对使用 WebSocket 感兴趣,请查看Socket.IO,它或多或少在不存在的浏览器(例如 IE)中模拟了 WebSocket 协议。