Поэтому мой сервер веб-сокетов (socket.io) отправляет данные JSON моим клиентам, которые подключаются к своим веб-браузерам (например, Firefox).

Он отлично работает, когда я отправляю короткие ответы.

Однако, когда я отправляю большой ответ JSON, он всегда имеет длину 219265 символов - он обрезается !!!

Поэтому я не могу разобрать данные JSON, потому что они отключаются до завершения передачи!

Что я могу сделать?

Я тоже пытался сделать это на Chrome - он также обрезается после 219265 символов.

Мой веб-сервер работает под управлением Apache2. Сервер веб-сокетов (socket.io) прослушивает порт 8002 сервера, и Apache перенаправляет любые запросы веб-сокетов на номер 8002. Он отлично работал для коротких ответов.

1 ответ1

0

Я понял...

Не проблема Apache2, не проблема socket.io ...

Это связано с тем, что дочерний процесс nodejs имеет длину буфера стандартного вывода по умолчанию, равную 200 * 1024 (204800).

http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

Все, что мне нужно было сделать, это установить maxBuffer на большее число, и все было хорошо ...

Уф!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .