Facebook的在线聊天背后的概念(数据传输)是什么?

时间:2011-01-04 19:11:06

标签: javascript facebook optimization xmpp xmlhttprequest

我最近加入了Facebook(我知道我已经迟到了),昨晚我惊奇地醒了。它看起来像实时聊天模块 每隔一秒左右“查看”新的答案消息。哪个IMO有点太快了。我不知道他们怎么设法得不到他们的 服务器活着。

我想知道背后的概念是什么。或者至少,你们怎么认为他们实现了这一点。

我还没有运行Firebug来查看XHR请求是否已发送。

我相信如果将实时聊天保留在Iframe中并且XHR发送到不同的HTTP服务器,它将保持“主” 服务器“冷却器”。此外,使用Iframe方法将避免由于“主”使用的cookie而发送太多带宽 网站。

我不想要一个像“他们有数百台服务器每分钟收到数百万个请求,他们可以存活下来”的答案。 我敢肯定我只是错过了他们的一些伏都魔法。 :P

无论如何,任何想法都有吗?

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

他们可能正在使用websockets或类似的东西来保持与服务器的持久连接,而不是每次需要发送数据时打开/关闭HTTP连接。

答案 2 :(得分:0)

您可能想要谷歌搜索xmpp

答案 3 :(得分:0)

我最后一次用萤火虫看了它,这在几个月前是不可思议的,好像他们正在使用彗星方法。有一个XHR打开最多一分钟,它将返回新数据,或在一分钟结束时,没有。