【问题标题】:A node.js server for both web and mobile app适用于 Web 和移动应用程序的 node.js 服务器
【发布时间】:2017-03-19 21:46:04
【问题描述】:

我正在通过 Unity 创建一个游戏,我想将玩家的分数上传到 MongoDB。因此,我搭建了一个node.js服务器,监听3000端口,分数会发送到服务器并存入数据库。

我的问题是,如果我想创建一个网站来查看/分析球员的得分,我应该使用哪种方法?

  1. 创建两台 node.js 服务器,一台用于网络,一台用于游戏
  2. 一台 node.js 服务器,但监听 80 和 3000 端口(我不确定是否可行)
  3. 还有其他更好的建议吗?

谢谢。

【问题讨论】:

    标签: node.js mongodb unity3d socket.io


    【解决方案1】:

    我会创建一个 Node 服务器,一个同时服务于 api 和 web 请求。

    听起来 API 和网络提供的数据将是相同的或彼此的子集。因此,您可能希望共享代码、从数据库中查找相同的内容等。

    从这里,您可以创建 api 使用和 web 使用的单独路由(/api/v1/my_scores/my_scores),或者意识到您只是要求相同数据的不同表示并执行 RESTful 之类的操作 @ 987654321@ 并发送服务器呈现的 HTML 或将 JSON 发送回客户端。

    或者,您可以在 Node 中创建一个 api,然后使用 Angular 或 React 等纯前端工具为您的网站创建一个 Web 前端。

    【讨论】:

      【解决方案2】:

      使用端口 3000 不是一个好主意,因为许多用户通过阻止非标准端口的防火墙访问 Internet。

      我建议使用 443 端口和 https 来保护这两个用例的通信。

      如果用于分析分数的站点不与 api 服务器共享逻辑,则可以将其创建为单独的站点 - 但在启动时更容易管理单个应用程序。

      【讨论】:

        【解决方案3】:

        如果我很容易理解您的问题,并且根据我有限的知识,我认为您不需要超过一台带有数据库的服务器。原因是您只想显示高分的网站,最终用户不能在网站上插入任何内容。所以复杂性已经很小了,所以不要费心创建另一个服务器。只需将数据获取 API 分开以在网站中使用即可。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多