绕过node.js中的套接字连接

我正在一个项目中,我们需要将客户端连接到LANnetworking后面的设备。

简要说明:在家中,例如在由路由器创build的LAN下连接有“设备”。 这些设备创build一个完整的Web服务器,在Linux下运行,并使用nodejs作为后端实现语言。 他们也可以通过路由器的公共IP访问互联网。 另一方面,有客户可以select连接到哪个设备。

目标是将客户端与任何设备创build的WebServer连接起来。

到目前为止,我的想法是尝试实现类似于TeamViewer的工作方式。 据我所知,Teamviewer有一个代理连接的中央服务器。 当一个代理连接到中央服务器时,这个代理获得TCP连接,保持活动状态。 当另一个客户端要访问第一个客户端时,服务器绕过两个TCP连接。 这样服务器的行为就像一个代理服务器,在那里它另外路由TCP连接。 这也允许连接到局域网或防火墙下的客户端(因为连接始终是从客户端创build的)。

如果这是正确的,我想实现的是一个中央服务器,同样在nodejs中,它pipe理来自不同活动设备的套接字连接池,当客户端想要连接到一个特定设备时,服务器绕过客户端的传入TCP连接与设备的已经存在的连接。

我首先想知道的是,如果这是可能的nodejs。 我的想法是保持设备连接活着,以便客户端可以立即连接到它们,创build某种types的设备连接池。

如果在C中实现,我想我可以得到套接字描述符,保持活动,并绕过传入的客户端请求。 但在nodejs中,我似乎无法find任何pipe理TCP连接的模块。

是否有任何高水平的npm包做这个function? 否则,是否可以使用具有这些function的较低级别的模块(如networking)。

理想情况下,我想用高级模块(express)来实现它,但是如果不可能的话,我总是可以使用低级模块重写服务器。

提前致谢