因此,在一个网站上,比如说,当你的声誉增加的时候,页面更新中的堆栈溢出部分。他们是怎么做到的?脚本是否不时检查,还是某种程度上是推送通知?
发布于 2014-02-09 06:41:39
大约2年前,stackexchange开始使用web套接字,如下所述:https://meta.stackexchange.com/questions/125677/new-feature-real-time-updates-to-questions-answers-and-inbox
如果您查看堆栈溢出站点源,您将看到JavaScript函数订阅了web服务器。
现在对这种技术有很多不同的方法。例如,微软引入了SignalR (http://signalr.net/),它通过切换到套接字不像长轮询那样工作的其他技术(每X秒询问一次是否有变化),优雅地退化为旧的浏览器。
作为一个Python的人,你可能会开始关注这样的事情:https://pypi.python.org/pypi/websockets/1.0
有乐趣的网络套接字!
发布于 2014-02-09 06:47:23
如果我不想使用web套接字,我会这样做:
GET该URL,并且队列中有可用的通知时,立即返回它们。GET通知URL。通常情况下,连接会阻碍数据的读取,但我不认为这会是一个问题。我认为这应该比web套接字更容易在服务器端实现,因为HTTP服务器不需要支持任何特殊的HTTP扩展。另一方面,根据您正在使用的HTTP服务器,每个打开的连接都可能使用您希望节省使用的线程或其他系统资源。
https://stackoverflow.com/questions/21656087
复制相似问题