2011-12-13 34 views
6

Tôi đã đọc rằng có thể chia sẻ các ổ cắm giữa các quá trình. Điều này cũng có thể có trong Node.js không?node.js - chia sẻ ổ cắm giữa các quá trình

Tôi đã thấy api cụm trong node.js, nhưng đó không phải là những gì tôi đang tìm kiếm. Tôi muốn để có thể chấp nhận một kết nối trong một quá trình, có thể gửi & đọc một chút, và sau một thời gian vượt qua ổ cắm này đến một quá trình node.js hoàn toàn độc lập khác.

Tôi đã có thể làm điều này với đường ống, nhưng tôi không muốn làm điều này, vì nó không nhanh như đọc/ghi trực tiếp vào ổ cắm.

Bất kỳ ý tưởng nào?

Cập nhật tôi thấy các mục sau đây trong tài liệu 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. 

Tôi nghĩ rằng nó sẽ có thể thiết lập các "fd" tài sản cho đặc tả tập tin của ổ cắm và sau đó mở socket với điều đó. Nhưng ... Làm thế nào tôi có thể nhận được các bản ghi của các ổ cắm và vượt qua nó cho quá trình cần nó?

Cảm ơn bạn đã trợ giúp!

+2

Chia sẻ ổ cắm giữa nhiều quy trình yêu cầu đồng thời và khóa các cơn ác mộng – Raynos

Trả lời

1

Hiện tại không thể, nhưng tôi đã thêm nó làm yêu cầu tính năng cho trang vấn đề nút.

Cập nhật Đồng thời, tôi đã viết mô-đun cho điều này. Bạn có thể tìm thấy ở đây: https://github.com/VanCoding/node-ancillary

+0

có hoạt động với socket.io không? – InsOp

0

Bạn có thể muốn có một cái nhìn tại hook.io

hook.io là một EventEmitter phân phối được xây dựng trên node.js. Ngoài việc cung cấp một khung sự kiện tối giản, hook.io cũng cung cấp một mạng lưới các thư viện hook phong phú để quản lý tất cả các loại đầu vào và đầu ra.

+0

hook.io chắc chắn không phải là câu trả lời cho câu hỏi này, nhiều hơn thế - và đối với nhiều người, nó sẽ là quá nhiều. – Tom

+0

Tom, đã đồng ý rằng nó rất nhiều, nhưng phải có rất nhiều "ví dụ" mà Vân có thể đào sâu vào bên trong việc thực hiện nó – Tristan

+1

Nó chắc chắn có vẻ là một dự án thú vị, nhưng trong lõi của nó, không phải những gì tôi muốn . Tôi nghĩ rằng họ cũng ống dữ liệu của họ và không thể chia sẻ cùng một dòng/socket. –

Các vấn đề liên quan