【问题标题】:node.js - share sockets between processesnode.js - 在进程之间共享套接字
【发布时间】:2012-07-31 07:26:51
【问题描述】:

我读到可以在进程之间共享套接字。这在 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”属性设置为套接字的文件描述符,然后用它打开套接字。但是...如何获取套接字的文件描述符并将其传递给需要它的进程?

感谢您的帮助!

【问题讨论】:

  • 在多个进程之间共享一个套接字是要求并发和锁定噩梦

标签: sockets node.js


【解决方案1】:

目前这是不可能的,但我已将其作为功能请求添加到节点问题页面。

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

【讨论】:

  • 你有功能请求的链接吗?
【解决方案2】:

你可能想看看hook.io

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

【讨论】:

  • hook.io 绝对不是这个问题的答案,它远不止于此——对于许多人来说,它会太多。
  • Tom,同意这很多,但应该有很多 Van 可以在其实现中挖掘的“示例”
  • 这绝对是一个有趣的项目,但它的核心并不是我想要的。我认为他们还通过管道传输数据,并且无法共享相同的流/套接字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 2017-01-19
  • 2017-06-14
  • 2014-01-15
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多