node.js / socket.io есть ли максимальный размер сообщения / события - PullRequest
9 голосов
/ 25 июля 2011

титул говорит сам за себя - есть ли максимальный размер для события (или сообщения), которое я хочу отправить с сервера клиенту?

я хочу отправить строку json клиенту, и этовыглядит примерно так:

[{"id":"4e25434f0f110ec101000005","media":"4fb135d508e972664c5adf3.jpg"},
 {"id":"4e2545f30f110ec101000021","media":"d09b745414e251695aa33e04.jpg"},
 {"id":"4e2554ce7bcfb24702000012","media":"076eea872411e433b9.png"},
 {"id":"4e255bc4f34a41cb02000010","media":"c2af3db4707db3ece.png"}]

если массив будет содержать, например, 200 элементов, произойдет ли этот сбой?!

Ответы [ 2 ]

8 голосов
/ 25 июля 2011

Не произойдет сбой, я случайно отправлю массив из 250 экстремально больших объектов через Socket.IO, и он обработает его без каких-либо проблем.

Вы можете видеть это как отправку объекта JSON из 250 элементов череззапрос http, пользователю может потребоваться некоторое время, чтобы загрузить все это. Это, по сути, единственное ограничение, которое у вас будет.

5 голосов
/ 25 июля 2011

Я не думаю, что произойдет сбой, так как node.js имеет встроенный алгоритм Nagle (если вы его не отключили), который буферизует данные перед отправкой.

http://www.nodejs.org/docs/v0.5.1/api/net.html#socket.setNoDelay

Только Node.js может легко справиться с этим для целей бенчмаркинга. Я отправил данные размером 800 КБ в виде фрагмента (случайный сброс). на другой стороне потребовалось много времени, но сообщение было успешно отправлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...