5

我一直在寻找答案,但我发现很难在文档中找到关于此的结论(我完全有可能错过了一些东西)。

背景

我正在使用这个插件在我的网站上显示评论,并且我正在尝试添加“实时”功能。我知道 Facebook 没有像他们在他们的网站上那样“默认”为插件提供自动刷新功能,所以我通过setInterval()函数中的 ajax 请求来模拟它。

问题

有没有办法实现长 ajax 拉、推或其他(更好的?)解决方案来获取评论信息?,多 ajax 请求解决方案工作正常,但有点消耗。

非常感谢!

4

1 回答 1

1

通常你可以通过使用WebSockets来实现你想要的,但是我不认为 Facebook 支持基于 WebSockets 的 API 机制,因此可能没有不包括某种轮询的解决方案。但是,您可以将该轮询机制从用户的浏览器移至您的服务器,这可能会带来更好的用户体验并减少您必须对 Facebook API 进行的 API 调用次数,以防有速率限制。

更具体地说,我建议一种机制,您可以将 Facebook API 中的数据轮询到数据库中,然后设置一个 WebSockets 解决方案,例如Socket.IO,它使用 WebSockets 事件驱动传递从 Facebook API 轮询的数据(也就是说,很多比轮询更快)机制(如果用户的浏览器不支持 WebSockets,Socket.IO 会回退到 AJAX 轮询)。

于 2012-11-01T17:49:28.207 回答