适用于 Web 和移动应用程序的 node.js 服务器

Posted

技术标签:

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

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

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

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

谢谢。

【问题讨论】:

【参考方案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 分开以在网站中使用即可。

【讨论】:

以上是关于适用于 Web 和移动应用程序的 node.js 服务器的主要内容,如果未能解决你的问题,请参考以下文章

初识Node.js

如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀

适用于 Node.js 的 MySQL 驱动程序适用于 Windows?

现在都有哪些 基于node.js的框架

有一种方法可以在 Node.JS 中为所有设备推送通知吗?

适用于 Web 和移动设备的 Flutter 图像选择器