1

也许标题可以改写得更好一些,但基本上我想知道 Facebook 之类的公司是如何在新通知/消息等方面实现“实时”界面的。我知道这样一个社交网络背后的复杂性太多了,无法讨论在这个小的 SO 线程中,但如果有人对用于几乎立即通知用户新记录的技术有任何想法(我假设是 DB 记录),那么我很想听到它。

如果我猜的话,我会说客户端代码上有计时器,它们会通过 AJAX 定期检查数据库,然后做出相应的反应。这是正确的吗?

4

2 回答 2

2

它通过Comet和通过 node.js 或类似的基于非线程的 Web 服务器进行长轮询。

如果我猜的话,我会说客户端代码上有计时器,它们会通过 AJAX 定期检查数据库,然后做出相应的反应。这是正确的吗?

你说对了一部分。客户端打开一个连接,服务器只有在它有东西要返回给客户端时才会响应。

于 2012-03-22T10:13:45.667 回答
1

我认为他们正在尝试使用 HTML5 WebSockets,但作为后备,他们使用 Comet、AJAX、具有良好后端的长池。

于 2012-03-22T10:15:27.397 回答