【发布时间】:2015-12-10 04:19:12
【问题描述】:
我希望将socket.io 集成到一个快递应用中。
sails.js 有一个非常好的功能,也可以通过 socket.io 消息调用快速路由。
但是,Sails 在其他方面比我需要的要多一些。我正在寻找一种无需使用整个sails 框架即可将socket.io 请求转发到表达路线的方法。我想这是一个很常见的要求,所以我很惊讶我还没有找到一个 npm 模块来做这个,但是找了很长时间,我什么也没找到。 express.io 这样做但相反 - 它将 HTTP 请求路由到 socket.io 处理程序。
为了澄清,我想使用我现有的以通常方式构建的快递应用程序...
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
然后链接到 socket.io 以便可以在客户端上通过 HTTP 调用 GET / 或使用 socket.io 来执行快速路由 /:
socket.emit('GET', '/', function(response) {
// do something with the response
});
理想情况下,它还可以在 express 和 socket.io 之间共享会话/身份验证(我从 Stack Overflow 上的其他帖子中看到这是可能的)。
我可以自己编写代码,但我不敢相信没有现成的解决方案或 npm 模块已经这样做了!
【问题讨论】:
-
我不明白你到底需要什么。
And then to link in socket.io so that the express route / can be executed on the client either with an HTTP call GET / or using socket.io with something like- 套接字和 HTTP 是完全不同的协议,它们没有任何共同点 - 你不能GET带有套接字的 http 页面.. -
我无法想象为什么这会有用?!套接字必须用作不同的协议,您只需监听套接字连接 -
socket.on('connect', function() { socket.on('message', doStuff); });
标签: node.js express socket.io sails.js