首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >套接字在dnode中挂起

套接字在dnode中挂起
EN

Stack Overflow用户
提问于 2012-05-11 03:28:51
回答 1查看 365关注 0票数 1

我已经使用dnode开发了一个客户端/服务器双向通信。

当客户端连接到服务器时,我会保持连接,这样服务器就可以在需要时使用此连接调用客户端上的方法。

有时连接似乎变得不活动,然后我需要手动重新启动客户端。使用某些特定选项,连接能否保持活动状态?(我认为每3秒重新连接一次就可以做到这一点,但似乎并非如此)。

服务器是这样的

代码语言:javascript
复制
dnode(function (remote, conn) {

  conn.on('connect', function (){     // THIS METHOD IS NEVER CALLED !!! I DON'T KNOW WHY
    console.log("connection");
  });

  // Connection starts
  conn.on('ready', function () {
      // Keep remote in a hash for later usage
      ...
  });

  // Connection ends
  conn.on('end', function(){
     // Remove remote object from hash
     ...
  });

}).listen(5000);

客户端:

代码语言:javascript
复制
// Define client functions
dnode(function (remote, conn) {
    // Ping
    this.ping = function (cb) {
        cb("pong");
    };

    // Other functions
    ...
}).connect(server, port, {'reconnect': 3000});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-11 03:38:08

听起来您可以使用upnode,它可以缓冲命令并自动重新连接断开的dnode连接。

我不认为connect事件会被触发,因为您在其中设置的函数是dnode的“on connection”处理程序。

您可能还想看看我的enode库,它捆绑了upnode功能和IMO,使dnode api更加直观。它还维护活动连接的列表,更好地处理错误对象,并简化断开和关闭。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10540898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档