如何在Node.js中pipe理多个networking客户端

对于我的家庭自动化系统,我想创build一个可以使用net.connect()连接到多个服务器的NodeJS服务。

我不知道如何pipe理这个projet,现在我可以连接到一个服务器(发送和接收数据),那部分工作正常。

每个客户将有一个ID和名称作为属性。

我想我需要一个networking客户端的数组,但我找不到一个很好的教程来得到这个工作。

我设法让事情工作。

首先声明一些东西来存储客户端和连接方法:

var nodes = []; var node; node = new events.EventEmitter(); // Maybe we can use something else ? node.connect = function (id, name, host, port) { var node = net.connect({host:host, port:port}); node.id = id; node.name = name; node. on('connect', function () { // we are connected node.is_connected = true; }). on('close', function () { // we are closed node.is_connected = false; node.destroy(); }). on('error', function (err) { // there is an error }). on('data', function (data) { // we have data }); // add thos new node to storage nodes.push(node); } 

添加一个新节点:

 node.connect(id, name, host, port); 

并删除一个,也许我们可以做一个更好的方式,也许通过ID(?):

 for (var i = 0, len = nodes.length; i < len; i++) { if (nodes[i].id == id) { nodes[i].destroy(); nodes.splice(i, 1); break; } } 

这实际上对我的projetc来说很好,可以随意讨论这个解决scheme,谢谢你的帮助。