node.js - делит сокеты между процессами - PullRequest
6 голосов
/ 13 декабря 2011

Я читал, что можно разделять сокеты между процессами.Возможно ли это и в Node.js?

Я видел кластерный api в node.js, но это не то, что я ищу.Я хочу иметь возможность принимать соединение в одном процессе, может быть, отправить и прочитать немного, и через некоторое время передать этот сокет в другой полностью независимый процесс node.js.

Я уже мог сделать это с помощью трубопровода,но я не хочу этого делать, поскольку это не так быстро, как прямое чтение / запись в самом сокете.

Есть идеи?

Обновление Iнашел следующую запись в документации к 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" для filedescriptor сокета, а затем открыть сокет с этим.Но ... Как я могу получить дескриптор файла сокета и передать его нужному процессу?

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 31 января 2012

В настоящее время это невозможно, но я добавил его в качестве запроса функции на страницу проблем узла.

Обновление В то же время я написал модуль для этого. Вы можете найти его здесь: https://github.com/VanCoding/node-ancillary

0 голосов
/ 20 декабря 2011

Возможно, вы захотите взглянуть на hook.io

hook.io - это распределенный EventEmitter, построенный на node.js.В дополнение к минималистичной структуре событий, hook.io также предоставляет обширную сеть библиотек ловушек для управления всеми видами ввода и вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...