建议使用ajax消息通知?

时间:2011-07-15 20:13:29

标签: php ajax

我在这里问你,我认为是不是正确的编码方式。

我有一个接收私信的网站,我希望有一个标志显示该人收到消息的那一刻。我应该每隔3秒检查一次新消息,如果有新消息或是否有更好的方法,则显示标志?

如果我在ajax中执行此操作,我会考虑每隔3-5秒检查一次新消息,并且一旦有标记,请停止检查更多内容。

我唯一担心的是,如果每隔3-5秒检查一次,那么当他们打字时会不会引起任何延迟或毛病?让我们说他们正在某个地方输入一个段落,我不希望他们在检查那些3-5秒的间隔时写入故障。

我的一位编码朋友提到有一种Ping(?)或类似的方法。如果此人始终连接到服务器,并且当有更改时,它会通知用户。我完全不确定它是如何工作的。

任何人都知道facebook如何做到这一点?哈哈。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果你已经完成了AJAX,输入时不应该出现滞后/故障。像3-5s这样的东西很好,因为它足够快但不会减慢服务器/浏览器的速度。

他的意思是“推”吗?在推送中,消息被实时推送到客户端,客户端不会询问是否有新消息。这很可能是Facebook正在使用的方法。

答案 1 :(得分:1)

  

我的一位编码朋友提到有一种方法可以使用Ping(?)或   类似的东西

老实说,我真的不喜欢periodic refresh(间隔轮询),因为tt存在扩展问题(我在使用定期刷新时收到了来自托管服务提供商的通知)。您应该使用更高效的传输,例如:

要使用此功能,您可以使用:

  

任何人都知道facebook如何做到这一点?哈哈。

对于chat,他们使用Erlang。他们还有来自friendfeed过去所获得的开源龙卷风(参见上面的链接)。 Facebook是一个PHP商店,但他们决定不使用PHP,因为PHP还不能有效地做到这一点。无论如何,他们正在使用上述传输效率之一。