Node.js - 如何跟踪连接的套接字对象? (TCP)

时间:2015-04-15 16:30:41

标签: node.js sockets tcp

我正在尝试使用Node.js和标准的'net'模块创建点对点应用程序。该应用程序既有服务器监听,也有一个函数,它将通过我正在处理的对等点发现创建与另一个对等体上的静态端口的新连接。我的问题是,跟踪套接字对象的最佳方法是什么,以便我可以稍后将消息发送到特定的IP,甚至只是使用所有套接字发送一条消息。

我尝试将套接字对象添加到另一个保存它们的对象,但是当我这样做时,它打开了一个新连接,导致应用程序与每个节点建立两个连接,而不是一个。

tl; dr如何在不打开新连接的情况下跟踪多个套接字?

(谢谢大家的时间,你给予的帮助对于学习程序员来说是非常宝贵的)

1 个答案:

答案 0 :(得分:1)

net模块中的套接字对象可以像Javascript中的任何其他对象一样简单地存储。例如,您可以将其存储在变量,数组中,作为属性的值等等......

如果您尝试将其存储在某处创建新套接字,那么您只是使用错误的代码来存储它。请分享该代码,我们可以帮助您了解错误的详细信息。

例如,你可以这样做:

var sockets = [];
var s = net.connect(...);
sockets.push(s);

并且,您将拥有一组连接的套接字,然后您可以随意处理(例如,遍历数组并向所有数组发送消息)。