Node.js - 进程间共享套接字

7
我已经了解到共享套接字是可能的,这也适用于Node.js吗?
我看到了Node.js中的群集API,但这不是我要找的。 我想能够在一个进程中接受连接,也许发送和读取一些内容,然后在一段时间后将此套接字传递给另一个完全独立的Node.js进程。
我以前可以使用管道来做到这一点,但我不想这样做,因为它不如直接读/写套接字快。
有什么想法?
更新 我在Node.js文档中找到了以下条目:
new net.Socket([options]) #
Construct a new socket object.

options is an object with the following defaults:

{ fd: null
  type: null
  allowHalfOpen: false
}
fd allows you to specify the existing file descriptor of socket. type specified underlying protocol. It can be 'tcp4', 'tcp6', or 'unix'. About allowHalfOpen, refer to createServer() and 'end' event.

我认为可以将“fd”属性设置为套接字的文件描述符,然后使用该描述符打开套接字。但是...我如何获取套接字的文件描述符并将其传递给需要它的进程呢?
谢谢任何帮助!

2
将一个套接字在多个进程之间共享,就像是在寻求并发和锁定的噩梦。 - Raynos
2个回答

1

目前还不可能实现,但我已将其作为一个功能请求添加到节点问题页面中。

更新 与此同时,我编写了一个模块来实现这个功能。你可以在这里找到它:https://github.com/VanCoding/node-ancillary


你有该功能请求的链接吗? - Drazisil

0

你可能想要看一下hook.io

hook.io是基于node.js构建的分布式EventEmitter。除了提供一个简约的事件框架外,hook.io还提供了丰富的hook库网络,用于管理各种输入和输出。


hook.io绝对不是这个问题的答案,它远不止于此 - 对于许多人来说,它将是太多了。 - Tom
汤姆同意这很多,但在其实现中应该有足够的“例子”供范挖掘。 - Tristan
1
它肯定是一个有趣的项目,但在其核心部分,它并不符合我的要求。我认为他们也将数据进行了管道传输,无法共享同一流/套接字。 - Van Coding

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接