Facebook 是否使用 comet 或 ajax 进行通知?
Facebook 是否会通过 Comet Push 或每秒检查新通知的 Ajax 脚本获取通知?对于这样的系统来说,哪个更有效?
Would facebook get notifications via comet push or an ajax script that checks for new notifications every second? and which is more efficient for such a system?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对我来说,它看起来更像彗星,有一个对 ??.channel.facebook.com 的 GET 请求需要 55 秒才能超时。这个 GET 请求在我加载页面的整个过程中都会重复 - 这就是长轮询的方式< /a> 有效。我正在使用 Chrome,它可以为其他浏览器使用不同的传输方式。
如果有通知,请求将在 55 秒超时之前完成。假设在 30 秒时,将发出另一个 GET 请求。这肯定比每秒轮询更有效。
It looks more like comet to me, there is a GET request to ?.??.channel.facebook.com that takes 55 seconds to time out. This GET request repeats the entire time I have the page loaded - This is how long polling works. I'm using Chrome, it could use a different transport for another browser.
If there were to be a notification, the request would complete before the 55 seconds timeout. Say at 30 seconds, and another GET request would be made. This is certainly more efficient than polling every second.
我没有使用过 Comet,无法判断它是否比 ajax“更快”。 Facebook 使用 Ajax(刚刚激活 Firebug),第一个请求转到
http://www.facebook.com/ajax/chat/history.php?...
。I haven't worked with Comet and can't tell if it's "faster" than ajax. Facebook uses Ajax (just activated Firebug), first request goes to
http://www.facebook.com/ajax/chat/history.php?...
.