2011-07-25 13 views
8

titelはそれをすべて言っています - サーバーからクライアントに送信したいイベント(またはメッセージ)の最大サイズはありますか?node.js/socket.ioには最大メッセージ/イベントサイズがあります

私はクライアントにJSON文字列を送信すると、それはこのようなものになります。配列は、例えば含まれているかどう

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

を200アイテム、このクラッシュだろうか?

答えて

7

これはクラッシュしないので、私は誤って250個の極端な大きなオブジェクトの配列をSocket.IOに送信し、問題なく処理しました。

httpリクエストで250アイテムのJSONオブジェクトを送信しているように見えるだけです。ユーザーがすべてダウンロードするためにはちょっと時間がかかるかもしれません。基本的に唯一の制限があります。

+0

質問:大きなオブジェクトの後に放出されるメッセージはどうなりますか?非常に遅れて到着するか(転送が完了した後)、またはメッセージが間違った順序で到着することになりますか?私は両方のシナリオが望ましくないと思う。 –

5

node.jsにはデータを送信する前にバッファリングされているinbuilt nagleアルゴリズム(無効化されていない場合)があるため、クラッシュするとは思われません。一人で

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

Node.jsのは、私はチャンク(ランダムフラッシュ)で800キロバイトのデータを送信したベンチマークの目的のために簡単に扱うことができます。他の側で受信するのに多くの時間がかかりましたが、正常に送信されました。

関連する問題