2012-09-01 42 views
8

Tôi vừa bắt đầu sử dụng node.js, tôi đang chạy một máy chủ nút với sockets.io và tôi cần gửi một bộ đệm byte cho máy khách.socket.io streaming dữ liệu nhị phân

Tôi hiểu rằng điều này có thể được thực hiện bằng cách dịch bộ đệm byte sang base64 và gửi nó, sau đó dịch nó trở lại phía máy khách. nhưng tôi đã tự hỏi nếu có một cách thanh lịch hơn để nhận được dòng byte cho khách hàng.

+1

Tôi nghĩ đây là câu trả lời hợp lệ http://stackoverflow.com/a/24617425/950039. Vui lòng Tick nếu hài lòng, bình luận nếu không :) –

Trả lời

2

https://github.com/binaryjs/binaryjs có thể là giải pháp. cơ sở 64 có ~ 30% kích thước trên không, vì vậy nếu bạn cần chuyển lượng lớn dữ liệu, nó sẽ trở nên không hiệu quả.

+1

Tôi đã xem binaryjs nhưng tôi không thể tìm thấy một cách làm cho nó làm việc với máy chủ socket.io của tôi. Tôi không muốn loại bỏ mã tôi đã viết. – crimsonsky2005

1

Hơi khó sử dụng binaryjs với socket.io. Hãy thử deliveryjs

https://github.com/liamks/Delivery.js

cung cấp các phương tiện thông tin liên lạc giữa khách hàng và máy chủ thông qua socket.io.

Tuy nhiên, mô-đun này cũng sử dụng chuyển đổi base64, đây là một hạn chế.

+0

Liên kết đó không giúp gì cả. –

4

Socket.IO 1.0 Bây giờ hỗ trợ truyền dữ liệu nhị phân. Vui lòng xem here. Bạn có thể sử dụng Blob, ArrayBuffer và File.

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