我在这里发现了 socket.io 和聊天示例:https://github.com/rauchg/chat-example/blob/master/index.js
他们直接使用 require('express')
和 require('socket.io')
。
那又怎样
差异,优势,使用:require('express.io')
喜欢这里 http://express-io.org/ ?
就为了赢一行?严重地?还是有新工具的另一层?
最佳答案
我一直在我的 Node 应用程序中使用 express.io。我发现主要优点是您可以将普通的快速路由与套接字路由混合使用。
让我解释一个真实的例子:
在我的应用程序中,我有一个带有 Angular 客户端的 nodejs REST API。我的客户需要显示一些实时通知,这些通知是由管理员调用 express 请求创建的。
一开始我在angular中设置了一个时间间隔来查询所有通知,每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);
});
关于node.js - express.io VS express + socket.io 的效用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936497/