在我的项目中,有私人聊天和消息通知等功能。 消息通知让我们知道是否有任何新的未读消息。
为实现这一目标,我想到的想法是
与
client
-server
模型类似,服务器应该侦听新请求。 就像那样,我认为应该有一些机制来监听服务器以获取有关新消息的信息。因为我知道ajax,所以我使用了ajax
请求,间隔为2秒。
但我后来认为,如果这是唯一的想法,StackOverflow应该使用相同的技巧,因为它们异步更新通知/投票信息。
在chrome中检查他们的ajax请求,它完全是空白的。
我需要知道如何在不使用频繁的ajax请求的情况下实现它(这将增加服务器上的负载)。
使用最有效技术的简单示例对学习非常有用。
答案 0 :(得分:7)
这被称为Comet,有几种方法可以实现它:
实现它们很棘手,这里有许多库可供选择,为您正确实现它们(例如Socket.IO)。
修改强>
使用最有效技术的简单示例对学习非常有用。
正如我所说,你不想自己实施,因为它们很棘手且充满危险;最好的Comet库考虑了浏览器的功能并选择了最佳协议,因此它对程序员来说是透明的,这使得使用这个模型很容易开发。例如,请查看Socket.IO tutorials。
另请注意,您需要一台能够处理Comet的服务器:例如: Socket.IO与Node.JS一起使用。例如,它们不能与默认的Apache一起使用。
答案 1 :(得分:3)