Tôi đang phát triển một ứng dụng đa quy trình bằng cách sử dụng Node.js. Trong ứng dụng này, một tiến trình cha mẹ sẽ sinh ra một tiến trình con và giao tiếp với nó bằng cách sử dụng một giao thức nhắn tin dựa trên JSON trên một đường ống. Tôi đã tìm thấy rằng các thư JSON lớn có thể bị "cắt", sao cho một "đoạn" duy nhất được phát ra cho trình lắng nghe dữ liệu trên đường ống không chứa thông báo JSON đầy đủ. Hơn nữa, các tin nhắn JSON nhỏ có thể được nhóm lại trong cùng một đoạn. Mỗi thông điệp JSON sẽ được giới hạn bởi một ký tự dòng mới, và vì vậy tôi tự hỏi liệu đã có một tiện ích nào sẽ đệm luồng đọc của đường ống sao cho nó phát ra một dòng tại một thời điểm (và vì thế, đối với ứng dụng của tôi, một tài liệu JSON tại một thời điểm). Điều này có vẻ như nó sẽ là một trường hợp sử dụng khá phổ biến, vì vậy tôi tự hỏi nếu nó đã được thực hiện.Luồng dòng hướng trong Node.js
Tôi đánh giá cao bất kỳ hướng dẫn nào mà bất kỳ ai cũng có thể cung cấp. Cảm ơn.
Bạn đã nghĩ đến việc chỉ sử dụng tốt HTTP cũ ? Tại sao bạn phát minh ra một giao thức IPC mới? Gửi tin nhắn JSON qua HTTP là một vấn đề được giải quyết, và nút là tuyệt vời tại HTTP. –
Bạn có thể mô tả cách bạn sẽ làm điều đó với HTTP không?Ngay bây giờ, tôi không thấy làm thế nào điều này sẽ thay đổi bản chất của vấn đề, như tôi tin rằng bạn vẫn sẽ được đọc khối từ một dòng. – jbeard4
Bạn mã hóa quy trình con của bạn như một máy chủ HTTP node.js thông thường. Khả năng chấp nhận và gửi tin nhắn JSON được cung cấp bởi phần mềm trung gian bodyParser express.js/connect.js. https://github.com/senchalabs/connect/blob/master/lib/middleware/bodyParser.js. Điều này xử lý các khối trong sự kiện tiêu chuẩn node.js được định hướng. Không cần phải tái phát minh ra cơ chế này. –