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

我正在Unity创build一个游戏,我想把玩家的分数上传到MongoDB。 因此,我已经build立了一个监听端口3000的node.js服务器,分数将被发送到服务器并存储到数据库中。

我的问题是,如果我想创build一个网站来查看/分析玩家的分数,我应该使用哪种方法?

  1. 创build两个node.js服务器,一个用于Web,一个用于游戏
  2. 一个node.js服务器,但听取端口80和3000(即时通讯不知道是否有可能)
  3. 还有什么更好的build议?

谢谢。

我会创build一个节点服务器,一个服务于API和Web请求。

这听起来像API所提供的数据,networking将是相同的或彼此的子集。 所以你可能会想共享代码,从数据库中查找相同的东西等等

从这里,你可以创buildapi使用和web使用的单独路由( /api/v1/my_scores vs /my_scores ),或者意识到你只是要求不同的表示相同的数据,并做一些RESTful像检查接受标题并发送服务器呈现的HTML或将JSON发送回客户端。

或者,您可以在Node中创build一个api,然后使用像Angular或React这样的纯前端工具为您的站点创build一个Web前端。

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

我build议使用443端口和https来确保两种用例的通信。

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

如果我很容易理解你的问题,并且根据我有限的知识,我认为你不需要多个服务器和一个数据库。 原因是一个网站你只想显示高分,也没有最终用户可以在网站上插入任何东西。 所以复杂度已经很小了,所以不要费心去创build另一台服务器。 只是使数据获取API在网站中使用分开。