1

潜在的に大きなファイルのアップロードを受信し、別のストリームを介してデータを転送するノードサーバーの実装を検討しています。私はこの記事を見つけました:

http://www.componentix.com/blog/13/file-uploads-using-nodejs-once-again

これには、さまざまなイベントの処理に関するいくつかの有用なコード例と、両側のストリームの速度が異なるポンプの問題があります。私にはまだはっきりしないこと(そして私がドキュメントを見つけることができないように見えること)は、ノードによって着信ストリームに対して正確に「データ」イベントが発行されるときです。

ノードのドキュメントの状態:

イベント:'データ'

データを受信すると放出されます。引数データはバッファまたは文字列になります。データのエンコードはsocket.setEncoding()によって設定されます。(詳細については、「読み取り可能なストリーム」セクションを参照してください。)

「データを受信したとき」とはどういう意味ですか?これは、着信データチャンクが特定のサイズに達したときに発生しますか?着信接続が閉じられたとき?一定時間後?

4

1 に答える 1

1

ストリームには、データイベントを発生させる準備ができるまでデータを格納するために使用する内部バッファーがあります。これは、ストリームのタイプ(内部バッファがいっぱい、すべてのデータが読み取られる、接続が閉じられるなど)によっては、いくつかのケースになる可能性があります。

ネットワークストリームは、ソケットのreadメソッドから受信したデータを使用してデータイベントを発生させている可能性があります。ノードソースで見つけられたら、参照します。

于 2012-09-28T00:43:48.527 に答える