我知道我对此有所思考...但是答案只是没有单击。
我有两台服务器,一个是TCP套接字服务器,另一台是SOCKJS服务器。我需要将两个连接事件结合到一个超级事件中:
async.parallel({
tcp: function (done) {
self._tcp = net.createServer(function (sock) {
done(null, sock);
});
},
ws: function (done) {
self._ws = sockjs.createServer(function (sock) {
done(null, sock);
});
}
}, function (err, results) {
// This never gets fired!!!
// But I'd like to do stuff here with both
// socket instances – you know, like piping =)
});
最初,我将TCP连接嵌套在WS连接中,但事实证明这是有问题的,因为它需要刚性连接序列。我真正需要的是建立两个连接并可以访问其各自的sock
实例的事件。帮助慢跑大脑将不胜感激!
这可能过于简单 - 但是查看sockjs文档,没有用于createServer()的回调函数 - 因此,它永远不会通过并行函数回调。。
尝试只调用完成(null,袜子);在执行socket.Createserver()之后;你应该全部设置。
doc:https://github.com/sockjs/sockjs-node