0

我知道我想太多了……但答案就是没有点击。

我有两台服务器,一台是 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实例时触发的事件。帮助慢跑大脑将不胜感激!

4

1 回答 1

1

这可能过于简单 - 但查看 sockjs 文档,createServer() 没有回调函数 - 所以它永远不会通过并行函数的回调循环回来。

尝试调用 done(null, sock); 就在你做 socket.createServer(); 你应该准备好了。

文档:https ://github.com/sockjs/sockjs-node

于 2014-02-03T02:54:13.563 回答