Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
meteor如何更新浏览器?_Meteor - Fatal编程技术网

meteor如何更新浏览器?

meteor如何更新浏览器?,meteor,Meteor,看过流星框架。我注意到更改数据库会无缝地更改浏览器中的数据。通常AJAX只是每隔几秒钟重新加载一部分页面,但在这里我没有注意到浏览器重新加载。他们是如何在《流星》中做到这一点的?它是否依赖于Node.js 更新:托比·卡特林提出了另一个有趣的问题。Meteor如何处理不同的浏览器 有几种技术允许服务器将数据推入浏览器,而无需浏览器请求。这种技术的术语是,而且大多数技术都与AJAX有关(有一种叫Comet的漂白剂和一种叫AJAX的清洁产品)。有多种连接类型:长轮询、流式XHR、永久帧、服务器发送事

看过流星框架。我注意到更改数据库会无缝地更改浏览器中的数据。通常AJAX只是每隔几秒钟重新加载一部分页面,但在这里我没有注意到浏览器重新加载。他们是如何在《流星》中做到这一点的?它是否依赖于Node.js


更新:托比·卡特林提出了另一个有趣的问题。Meteor如何处理不同的浏览器

有几种技术允许服务器将数据推入浏览器,而无需浏览器请求。这种技术的术语是,而且大多数技术都与AJAX有关(有一种叫Comet的漂白剂和一种叫AJAX的清洁产品)。有多种连接类型:长轮询、流式XHR、永久帧、服务器发送事件和WebSocket。IO是一个很好的库,它为流式服务器提供连接类型

您确实需要一个支持Comet连接的服务器。你可以在谷歌上搜索当前的,但我不知道:node.js、tornado、cometd、orbited、Jetty streaming


我猜Metor会根据浏览器的功能使用不同的连接类型,例如用于Chrome的websocket和用于IE的long polling。如果有人能给出更具体的答案,我会感兴趣的

他们同时使用
会话
Meteor.autosubscribe
(来自Meteor API)确保更改反映在客户机上

这些Meteor API使用SockJS的XHR(XMLHttpRequest)。SockJS是WebSocket仿真实用程序。因此,当服务器上发生更改时,SockJS确保发送一个XHR,并且更改的数据在JSON响应中

是的,Meteor完全依赖于Node.js。来自Meteor文档:

Meteor应用程序是在客户端web浏览器中运行的JavaScript、在Node.js容器中的Meteor服务器上运行的JavaScript以及所有支持的HTML片段、CSS规则和静态资产的组合。Meteor自动化了这些不同组件的包装和传输。而且,对于如何选择在文件树中构造这些组件,它是非常灵活的

唯一的服务器资产是JavaScript。Meteor收集所有JavaScript文件,不包括客户端和公共子目录下的任何文件,并将它们加载到光纤中的Node.js服务器实例中。在Meteor中,服务器代码在每个请求的单个线程中运行,而不是在节点的典型异步回调样式中运行。我们发现线性执行模型更适合Meteor应用程序中的典型服务器代码


来源:和

使用WebSocket,您不需要浏览器请求数据,因为浏览器和服务器之间建立了持续的连接。服务器可以将数据发送到连接到的客户端。若它使用socket IO,我相信它会退回到旧浏览器的长轮询。对于新的事件,它将打开一个webSocketComet,W3C现在称之为服务器发送事件(SSE)。见:另见