【问题标题】:Multiple MeteorJS clients in one project一个项目中有多个 MeteorJS 客户端
【发布时间】:2014-11-27 20:31:35
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: meteor


    【解决方案1】:

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

    是的,您可以将它们托管在像 nginx 这样的反向代理后面。

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

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

    【讨论】:

      【解决方案2】:

      您可以有多个不同的应用程序使用相同的 DDP 连接,以便在应用程序之间以反应方式共享数据。

      要共享 DDP 连接:

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

      Posts = new Meteor.Collection("posts");
      
      if(Meteor.isServer){
          Meteor.publish("posts", function(){
              return Posts.find({});
          });
      }
      
      if (Meteor.isClient){
          Posts.subscribe("posts");
      }
      

      配套应用(在 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 工作,所以如果你有代理,你会遇到问题

      【讨论】:

        猜你喜欢
        • 2018-01-12
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-26
        • 2023-03-25
        • 1970-01-01
        相关资源
        最近更新 更多