一个项目中的多个MeteorJS客户端

时间:2014-10-02 19:07:39

标签: meteor

有没有办法在一台服务器上创建多个流星客户端?我的意思是拥有多个不同的客户端应用程序,它们都与同一台服务器通信?因此,www.mainapp.com上的数据更改将显示在www.companionapp.com中,反之亦然。

感谢。

2 个答案:

答案 0 :(得分:0)

  

有没有办法在一台服务器上创建多个流星客户端?

是的,您可以将其托管在nginx等反向代理之后。

  

我的意思是拥有多个不同的客户端应用程序,这些应用程序都与同一服务器进行通信?因此,www.mainapp.com上的数据更改将显示在www.companionapp.com中,反之亦然。

是的,只要所有应用程序都以名称MONGO_URL启动,那么它们将共享同一个数据库(因此同时反映其更改)。

答案 1 :(得分:0)

您可以拥有多个使用相同DDP连接的不同应用程序,以便跨应用程序共享数据。

共享DDP连接:

主应用程序(在端口3000上运行):

Posts = new Meteor.Collection("posts");

if(Meteor.isServer){
    Meteor.publish("posts", function(){
        return Posts.find({});
    });
}

if (Meteor.isClient){
    Posts.subscribe("posts");
}

Companion App(在端口3030上运行):

var conn = DDP.connect("http://localhost:3000");
Pictures = new Meteor.Collection("pictures", conn);

if(Meteor.isClient){
    conn.subscribe("posts");
}

如果您在同一个盒子上运行这两个应用,则需要为每个应用指定不同的端口:

meteor --port 3030

Server 2 Server DDP来自Alan Shaw的非常有趣的YouTube视频,这个答案基于此。

我建议阅读Meteorhacks' Introduction to DDP

注意:DDP连接只能通过websockets进行操作,因此,如果您之间有代理,则会遇到问题