用户首次登录时的通知,没那么难,只需要扫描数据库,我可以处理。然而,当 friend 在个人资料 X 上发送请求或评论时,会发送通知,并且几乎立即在另一端收到通知,即使用户 X 没有提出任何请求。是投票吗?不喜欢它,因为页面从不刷新自己。一定是别的东西吗?有人知道吗?也许是网络推送?
最佳答案
Facebook 使用长轮询。
当您访问他们的页面时,他们有一个脚本不断向特定 URL 发出请求。处理该 URL 的服务器不是立即响应,而是先等待消息进入其队列,然后将该消息发送给用户。如果达到特定的超时时间,服务器会在不发送消息的情况下进行响应,并且客户端脚本会向该 URL 发出另一个请求。
要查看实际效果,请在 Facebook 页面上打开 Firebug 的“网络”选项卡并等待几分钟。您应该看到持续一分钟的请求,然后是一个新的请求。
关于Facebook 通知系统 : Is it polling?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788668/