問題タブ [nagle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - dotnet の tcp ソケットの send メソッドがすべてのバイトを送信しないのはいつですか?
すべてのソケット API と同様に、実際に送信されたバイト数を返すと言われています。返された数値が入力のサイズと一致しないのはどのような状況ですか?
私の素朴な仮定は、ウィンドウがいっぱいになるまで完全なセグメントを送信し、ACK が返されるのを待つことでした (私は W10 から Ubuntu に送信しており、両方ともデフォルトで Nagle のアルゴリズムを使用していると想定しています)。
ただし、送信するために 100MB を超えるバッファを渡しても、常に入力バッファのサイズが返されます。標準ライブラリは自動的に「内部的に複数回送信を呼び出す」か、または私のubuntuがACKを送信するのが速すぎますか? それとも、API や Nagle のアルゴリズムを間違って解釈したのでしょうか?
c - libpq と postgres サーバーの TCP_NODELAY をどのように設定しますか?
Postgres クライアントとサーバーに対して TCP_NODELAY が設定されている (Nagle が無効になっている) ことを確認しようとしています。TCP_NODELAY マクロが定義されているときにオプションを使用するコードが libpq にあることがわかります。postgres リポジトリのクローンを作成しました。次を実行します。
結果の静的ライブラリに対してリンクしようとしました。その結果、修正がundefined reference to symbol 'inet_net_ntop@@GLIBC_2.2.5'
追加され-lresolv
、他の未定義の参照の問題が多数発生します。postgres と TCP_NODELAY に関する公式ドキュメントは見つかりませんでした。
libpq と postgres サーバーはデフォルトで TCP_NODELAY を使用しますか? か否か?
私は上記の正しい軌道に乗っていますか?もっと簡単な方法があるはずですか?