Tôi đang sử dụng Spring-Websockets 4.2 với SockJS.Tin nhắn một phần với SockJS trong Spring-Websockets 4.2
Vì các tin nhắn mà khách hàng nhận được có thể khá lớn, tôi muốn sử dụng một phần tin nhắn. Lớp con của tôi của TextWebSocketHandler không ghi đè lên supportPartialMessages để trả về true. Tuy nhiên, vì SockJsWebSocketHandler được tạo bởi Spring không hỗ trợ một phần thư, tôi vẫn gặp lỗi code=1009, reason=The decoded text message was too big for the output buffer and the endpoint does not support partial messages
.
Như một giải pháp thay thế, tôi đã tăng kích thước bộ đệm lên 1 MB như được mô tả here, nhưng vì tôi phải hỗ trợ khá nhiều khách hàng (~ 2000 cùng một lúc), điều này đòi hỏi quá nhiều bộ nhớ.
Có cách nào để sử dụng một phần thư với SockJS không?
Bạn có thể giải quyết vấn đề này không. Tôi cũng phải đối mặt với cùng một vấn đề và không thể tìm ra giải pháp? Ngoài ra các con số được đề cập trong 'container.setMaxTextMessageBufferSize (16384)', có phải là bit, byte kbs hay không? – BiJ
Không, rất tiếc là không. Chúng tôi đã kết thúc việc tự mình thực hiện phần gửi tin nhắn một phần bằng cách chunking tại người gửi và tập hợp lại ở người nhận. SetMaxTextMessageBufferSize bằng byte AFAIK. – Jan
Bạn có thể sử dụng bộ cân bằng tải giống như phiên để tách các tin nhắn không? Nó gần như âm thanh như bạn cần phải thực hiện một dòng phản ứng hoặc sử dụng một quy mô thích hợp ra hàng đợi tin nhắn bên ngoài của ổ cắm thông thường để xử lý tin nhắn của bạn. –