express.io VS express + socket.io有什么用处?

时间:2015-10-04 17:51:26

标签: node.js sockets express socket.io express.io

我在这里发现了socket.io和聊天示例:https://github.com/rauchg/chat-example/blob/master/index.js

他们直接使用require('express') AND require('socket.io')

那是什么 差异,优势,使用:require('express.io')就像这里http://express-io.org/

只是赢得一条线?真的吗?还是有另一层有新工具?

2 个答案:

答案 0 :(得分:3)

我一直在我的节点应用中使用express.io。我发现主要的优点是你可以将普通的快速路由与套接字路由混合在一起。

让我解释一个真实的例子:

在我的应用程序中,我有一个带有Angular客户端的nodejs REST API。我的客户需要显示一些由管理员调用快速发布请求创建的实时通知。

在开始时,我将角度的时间间隔设置为咨询所有通知,每5秒运行一次 有几个客户端它完美但但当客户端增加时我的服务器超载。尽管没有新通知,但每个客户端都在请求通知。所以我决定开始使用socket.io来发送实时通知。

如果我的管理员保存了新通知,则服务器通过套接字广播通知 这里的问题是管理员在Express中调用普通的POST请求,我需要使用socket.io进行广播,所以我集成了express.io,我可以将正常的express请求重定向到socket.io方法来执行发送。

var express = require('express.io');
var app = express();

app.http().io()

app.post('/notificacion', function(req, res){
//I save the notification on my db and then ...
req.io.route('enviar');
});

app.io.route('enviar', function(req) { 
    app.io.room('personas').broadcast('alertasControlador',req.io.request.data.notificacion);
});

答案 1 :(得分:1)

我最近(今天)查看了express.io以及安装节点模块时的情况 npm报告:

从44个贡献者处添加了55个软件包,并在32.816秒内审核了2606个软件包

发现了25个漏洞(11个低,5个中等,9个高)

运行npm audit fix进行修复,或运行npm audit以获得详细信息

npm审核修复程序修复了两个低漏洞。

当我删除express.io npm报告时:

在8.976秒内删除了57个软件包并审核了2539个软件包

发现了0个漏洞

就我所要使用的非常好的路由功能而言,在修复依赖性之前,我觉得这不适合生产。