大きなサイズの画像データ転送のサーバー側の進行状況を知るために、tcp ソケット書き込みの各ステップを制御する方法はありますか?
最悪の場合、メイン ノードの bin フォルダーを変更してこのイベントを追加するにはどうすればよいですか?
最後に、node.js http tcp ソケットの最大長が 1460 である理由を説明してもらえますか?
ドキュメントから:
socket.write(data, [encoding], [callback])
ソケットでデータを送信します。2 番目のパラメーターは、文字列の場合のエンコーディングを指定します。デフォルトは UTF8 エンコーディングです。
データ全体がカーネル バッファに正常にフラッシュされた場合は true を返します。データの全部または一部がユーザー メモリのキューに入れられた場合は、false を返します。'drain' は、バッファーが再び解放されると発行されます。
オプションのコールバック パラメータは、データが最終的に書き出されたときに実行されます。これはすぐには実行されない場合があります。
イベント:「ドレイン」
書き込みバッファが空になると発生します。アップロードを抑制するために使用できます。
参照: socket.write() の戻り値
したがって、データがフラッシュされたときに呼び出されるコールバックを指定するか、ソケットに「ドレイン」イベント ハンドラーを登録することができます。これは、反対側の進行状況を実際に通知するものではありませんが、適切に実装されたサーバーは、キューがいっぱいになると適切な通知を送信し、Node.js 側でイベントをトリガーします。