Używam Vert.x i SockJS do przesyłania danych zawartych w wiadomościach. Czy istnieje specyfikacja, jak duże mogą być komunikaty SockJS/Websocket?Jaki jest maksymalny rozmiar wiadomości SockJS?
Odpowiedz
Nie ma wyraźny limit wielkości wiadomości SockJS. Ale niestety SockJS jest dość kruchy i nie powinien być używany do wysyłania ogromnych danych. W idealnym świecie można wysyłać komunikaty sterujące (wrażliwe na opóźnienia) na SockJS i duże ładunki (dla przepustowości) przy użyciu metod zewnętrznych - na przykład przy użyciu wywołania AJAX.
Od strony technicznej powinieneś być w stanie wcisnąć prawie wszystko nad WebSockets transportu, ale na streaming i odpytywania te trzeba być bardziej ostrożnym. W szczególności żądania odpytywania muszą zostać przywrócone w ciągu 5 sekund i może to być trudne, gdy cała przepustowość jest zajęta przez wysyłanie danych z przeglądarki do serwera. Dlatego przesyłanie dużych obiektów typu blob nie jest zalecane w przypadku sockjs.
Dzięki! Zrobiłem więcej badań i okazało się, że domyślny limit rozmiaru ramki sieciowej Netty (który jest używany w Vert.x) jest ustawiony na około 100k. To całkowicie pasuje w tej chwili (wiadomości mają około 5k), ale kiedy wiadomości zaczną rosnąć powyżej 100k, rozważę rozwiązanie sockjs/ajax. –
Używam wiosennej implementacji sockjs, nie znajduję sposobu na określenie maksymalnego limitu. Czy klient sockjs ogranicza rozmiar wiadomości w jakikolwiek sposób, czy też zapewnia sposób określania maksymalnego rozmiaru? – cpandey05