Mat*_*rix 5 sockets node.js 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/ 有什么区别和优点?
就为了赢一局吗?严重地?或者有另一个带有新工具的层?
我一直在我的节点应用程序中使用express.io。我发现主要优点是您可以将普通快速路由与套接字路由混合。
让我解释一个真实的例子:
在我的应用程序中,我有一个带有 Angular 客户端的 Nodejs REST API。我的客户需要显示一些由管理员调用快速发布请求创建的实时通知。
一开始,我在 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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |