【发布时间】:2017-10-12 04:28:46
【问题描述】:
我不知道如何正式陈述这个问题,因为我不知道这里实际发生了什么。 每当有任何用户在我的帖子上发表评论时,Facebook 都会发出如下请求以显示该评论,而无需我做任何事情。他们是如何做到的?
https://0-edge-chat.facebook.com/pull?channel=p_100009456028304
这不能是推送通知,因为他们一直在发出拉取请求(我使用浏览器中可用的开发人员工具进行了检查,尽管我 我不确定它是否是推送通知)。他们不断向上述 URL 发出拉取请求。这种技术叫什么? 有人可以帮我理解这一点。 也许这个问题是重复的,并且已经在堆栈溢出时得到了回答。但是 因为我不知道这是什么,所以很难搜索。(我试过但找不到任何东西)
【问题讨论】:
-
称为长轮询
-
从我今天研究的关于轮询的情况来看,他们不断地向服务器发出请求以获取任何更新,一旦获得更新,就会将其显示给客户端。
-
但是有很多东西可能会一次全部更新,所以他们如何提出请求并决定哪个是页面哪个部分的响应(他们收到的更新是为了喜欢。我可以假设他们可能会添加一个参数来表示此更新的目的)他们真的实现了这样的“实时”更新吗?或者轮询是这样完成的?我如何在有限的服务器资源下实现轮询?(因为轮询可能会产生开销在服务器上)
-
@WizKid 我如何为 android 应用程序实现长轮询?
标签: facebook real-time publish-subscribe