套接字挂在dnode中

我开发了一个使用dnode的客户端/服务器双向通信。
当客户端连接到服务器时,我保持连接,以便服务器可以使用此连接在需要时调用客户端上的方法。
有时连接似乎变得不活跃,我需要手动重新启动客户端。 连接可以通过一些特定的选项保持活动吗? (我虽然每3秒重新连接将做的伎俩,但似乎并非如此)。

服务器就像

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); 

客户端:

 // Define client functions dnode(function (remote, conn) { // Ping this.ping = function (cb) { cb("pong"); }; // Other functions ... }).connect(server, port, {'reconnect': 3000}); 

听起来就像你可以做upnode ,缓冲命令和重新连接自动丢弃的dnode连接。

我不认为connect事件会被解雇,因为你在里面设置的函数 dnode的“on connection”处理函数。

你也可能想看看我的enode库,它捆绑upnodefunction和IMO,使dnode api更直观。 它还维护活动连接的列表,更好地处理错误对象并简化断开和closures。