Node.js 单独或作为另一个服务器工具的伴侣
Posted
技术标签:
【中文标题】Node.js 单独或作为另一个服务器工具的伴侣【英文标题】:Node.js alone or as a companion to another server tool 【发布时间】:2011-11-08 12:56:33 【问题描述】:对于我在大学的最后一年项目,我将创建一个应用程序,该应用程序将使用 Node.js 发送消息以更新一组元素在屏幕上的位置。
我的目标的详细描述:
用户应该能够创建房间,房间可以包含自定义小部件,例如图片、创意、音乐和视频。
其他用户应该能够查看此用户房间,并对这些小部件发表评论,例如喜欢它们、发布关于它们的推文等。所有小部件都是可移动的并具有 x,y 坐标,并且每次移动元素时都会广播(使用网络套接字)。
所有者可以删除或编辑小部件,这将更新元素(再次是 websockets)。
还将有一个内置的聊天功能,允许用户交谈(实时,使用网络套接字)。
小部件详细信息将存储在数据库中
还有更多与网络套接字无关的功能,所以我省略了。
下图展示了我正在构建的内容:(对不起尺寸!) http://jtbrown.me.uk/assets/unrelated/mindcloud.jpg
我真的只有两个问题:
单独使用节点会更好吗? (我对服务器端 javascript 没有经验)
是否可以将其与其他 Web 服务器(例如 Zend)结合起来?
【问题讨论】:
为简单起见,我强烈建议您学习 JS 并自行使用 node。只有当你有严格的最后期限时,你才应该只将 node 用于 socket.io 部分 【参考方案1】:您应该能够单独在 node 中执行此操作,但也许您想使用基于 node 的基本 web 框架来使事情变得更容易并节省时间和工作。如果您想尝试出色的CoffeeScript,我建议您查看ExpressJS 甚至Zappa(基于ExpressJS)。
【讨论】:
我在 php 方面更有经验,我希望使用 Node.js 来处理几个事件。我想在 linux web 服务器上运行网站的其余部分。有可能这样做吗? @JackBrown 当然,你可以同时做。不过,您将需要某种共享数据存储 @Raynos 你对共享数据存储有什么建议吗?我该如何实现它?也许是 MongoDB? @jackBrown 我会推荐 redis,node 和 PHP 都有模块 杰克,你一定能做到。该死,我已经做到了。我使用 Node.js 作为前端,沙发作为后端。把你的“房间”想象成一个沙发文件,把你的物品想象成文件的元素;您可以在服务器和客户端或它的子元素之间来回传递它,并为每个可能的“指定更改的票证”提供 RESTful url。 (有关详细信息,请参阅理查森成熟度模型。)所有聊天和社交整合的东西都是短暂的。没有必要保留它。使用Zappa,这很容易。以上是关于Node.js 单独或作为另一个服务器工具的伴侣的主要内容,如果未能解决你的问题,请参考以下文章
React + Node.JS 巧妙实现后台管理系统の各种小技巧(前后端)