聊天应用程序:node.js 还是 APE?

Posted

技术标签:

【中文标题】聊天应用程序:node.js 还是 APE?【英文标题】:chat application: node.js or APE? 【发布时间】:2011-10-30 06:05:12 【问题描述】:

我想创建一个聊天应用程序,它将使用 php/codeigniter 来执行视图和用户界面。我一直在阅读大量关于 *** 的帖子,这些帖子推荐使用 node.js 或 socket.io。然而,我也遇到过 APE(Ajax Push Engine)。我对两者都不太了解,想知道使用哪个。

我阅读了 node.js 并看到了很多关于它的好东西,但让我担心的主要问题是它相对较新并且没有很多真实世界的网站测试/使用它。

另一方面,APE 可以。它看起来类似于 node.js。但就像我说的,我对两者都不太了解,不知道该选择哪一个。

哪个更擅长创建聊天应用?

谢谢!

【问题讨论】:

Discalaimer:我在很多项目中都使用过socket.io/node(以及socket.io/Tornadio),但从未使用过APE。就创建聊天应用程序哪个“更好”而言,它们都非常有能力。在我看来,socket.io 更强大一些(例如它利用 WebSockets),而 APE 更稳定一些(socket.io 的 API 在过去一个月里发生了根本性的变化)。在此处查看更多信息:***.com/questions/6513367/… 【参考方案1】:

我玩了一点 node.js,尝试了 socket.io - 但最后用 APE 做了一个大项目。

我认为,与往常一样,存在您想要实现什么的问题。仅比较服务器部分:使用 node.js,您将获得一台不会自己做任何事情的机器,您需要自己编写(或使用库)使用 APE,通道和连接的处理已经内置(编译C)。您仍然需要在上面使用 JS 构建自己的逻辑部分 - 或使用示例。

在客户端,socket.io 提供了一个包含三个命令的客户端框架——APE 有它的 APE_JSF 来处理连接(它带来了比 socket.io 更多关于通道的功能)

就个人而言,我更喜欢 APE,尽管缺乏针对初学者的文档。但是,请记住,APE 不会提供文件/图像,它不是一个完整的 Web 服务器,而是针对实时推送进行了优化,它可以处理大约 10K 并发用户

【讨论】:

我一直在关注您的帖子,您似乎没有阅读 node.js 也支持原生 C/C++ 模块,它们很难编写,我承认它们很难找到,但 MongoDB BSON C 中的解析器是原生节点如何获取的一个很好的例子 我同意 APE 比 NodeJS 稳定得多,但是需要升级令人困惑的文档,否则新开发人员将不会对使用它感到满意。 你在两个 cmets 上都是对的:除了编写 JS 之外,我没有深入研究 node.js 选项而且 APE 文档缺少很多东西,很难进入主题但是,一旦你得到它的窍门,你可以用它令人印象深刻的事情。您仍然可以使用节点实现相同的目标,我只是认为当涉及纯性能(>10K 用户)时,节点会遇到问题 实际上 node.js 可以很容易地处理超过 10k 的用户我已经用 node.js 运行了很多应用程序和东西,它的性能真的很疯狂.. 我的意思是 blog.famzah.net/2010/07/01/… 看看链接节点.js 的性能令人难以置信,此外,我们还可以为 node.js 编写核心 C++ 插件/模块,从而对 node 进行更多控制。但是是的,作为一个低级 API node.js 确实需要大量的知识和时间来编写应用程序,但它值得学习 :-)【参考方案2】:

和你一样,我不熟悉 APE,但是 node.js 上的 socket.io 带有 chat app as it's main example app。

的确,目前使用 Node.js 的网站并不多。然而,Socket.io 可能被认为是 Node 的“杀手级应用程序”,因此使用它完成了相对大量的讨论/工作。

我假设 APE 有稳定的 API,但 socket.io 可能不一定有 - 例如,0.7 版本是一个相当广泛的 API 更改更新。随着socket.io spec 的发布,这种情况可能会减少。

【讨论】:

在我看到你的评论之前写了这篇文章......不过我认为仍然相关。 socket.io-spec 出版物表明它正在变得更加稳定,甚至朝着多个服务器实现方向发展,但这有点推测。 在使用 node.js 时我应该几乎总是使用 socket.io 吗? 不,如果我需要将“推送”功能集成到某些东西中,我会努力将 Node.js+Socket.io 与任何现有后端(PHP/.NET/JSP)集成/whatever)我已经在使用了。例如,我尝试使用 .NET 找到一些东西,并得出结论,我最好使用 socket.io 创建一个“套接字”层 Socket.io 聊天示例应用程序的链接已损坏。这段代码显然在最新版本中不再可用。

以上是关于聊天应用程序:node.js 还是 APE?的主要内容,如果未能解决你的问题,请参考以下文章

在IOS中构建一个使用node.js服务器的聊天应用程序[关闭]

使用 node.js、socket.io 和 redis 的一对一聊天应用程序

Heroku 上的 Socket.io 聊天应用程序与 node.js

如何使用 Socket.io 和 Node.js 开发大型聊天应用程序 [关闭]

使用 node js 和 UCWA 的聊天应用程序

Node.js Socket.IO 聊天应用集群服务器