問題タブ [setsockopt]
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.
sockets - カーネル モジュールの setsockopt
カーネル フック モジュールで setsockopt を使用して ttl フィールドを設定するにはどうすればよいですか?
エントリを iptables mangle に入れることはできますが、別のより良い方法はありますか?
現在、ubuntu 14.04 を使用しています。カーネル 3.13.2 CPU は 32 ビットです。
c - IP検出オプションのsetsockoptの設定
着信インターネット パケットの IP オプションを検出したい。これが私のコードです。
問題はヘッダーの長さが 6 であることですが、すべての ip オプションを検出するには長さを 20 にする必要があります。setsockopt では、有効な変数の型は char である必要があるかもしれませんが、プログラムを実行すると問題が発生します。実際、char 型を使用すると、無効な引数のエラーが発生します。getsockoption を使用してこれらのオプションを出力する方法も知りたいです。どうしたの?私の質問が明確であることを願っています:)
c# - setsockopt のバージョン
特定のソケットの受信バッファーを定義するには、次のメソッドを使用する必要があります。ただし、指定されたものは C++ と互換性があるため、メソッドの C# バージョンを教えてください。
networking - SO_SNDBUF と SO_RCVBUF
アプリケーションが最大 TCP バッファ制限を利用するには、SO_SNDBUF と SO_RCVBUF を指定した setsockopt が必要ですか?
ホスト間に 100 ミリ秒の遅延がある 1 Gbps ネットワークがあり、カスタム クライアント サーバー C プログラムを使用してホスト間で全速力でデータを送り込もうとしています。
wmem_max、rmem_max に 124928 という小さな値を設定し、tcp_rmem と tcp_wmem の 3 番目の列に同じ値を指定してデフォルトのホスト設定を使用すると、スループットが 80Mbps に低下しました
次のように最大値を 124928 から 12582912 に変更した後、1Gbps のはるかに優れたスループットが得られました。
ソースホストとターゲットホストの現在の設定は
プログラムで setsockopt() を使用して、sysctl 設定の最大制限を利用しませんでした。setsockopt と sysctl のメモリ設定に関する私の理解では、デフォルトではすべてのプログラムが mem_default で定義されているメモリ バッファを取得し、setsockopt() 呼び出しを使用して mem_max 値まで上げることができます。しかし、setsockopt() 呼び出しを使用しなくても最大制限に達する可能性があることに混乱しています。大きなメモリ バッファを使用するように setsockopt を使用して構成されていないソケットでも、TCP は mem_max 設定を動的に使用するように自動的に調整されますか?
tcpdump の出力から、ソースの (seq-ack) が常に 50MB 程度残っていることを確認しました。これは、TCP ウィンドウが sysctl 設定のデフォルト値よりも大きいことを示しています。
c++ - NS3: TCP セッションごとに RcvBufSize を設定する方法は?
RcvBufSize が異なる 2 つの TCP セッションを実行する必要があります。
次のコードは、すべての TCP セッションの RcvBufSize を設定できることを知っています。
setsockopt()
実は、 TCPセッションごとにSO_RCVBUFを設定するような機能を探しています。
にもダウンキャストPtr<Socket>
してみましPtr<TcpSocket>
たSetRcvBufSize()
が、非公開機能です...
とにかくこの問題を解決する方法はありますか?
sockets - TCPソケットのsetsockopt SO_BROADCAST
作業を任された既存のネットワーク ライブラリに、setsockopt
理解できない呼び出しがあります。
ここでは、作成された TCP ソケットの開始を確認できます。
その直後に、オプション値を使用して、プロトコル レベルでsetsockopt
オプションの呼び出しが行われます。SO_BROADCAST
IPPROTO_TCP
5
Beej のネットワークに関するガイドによると、これは「TCP ストリーム ソケットに対しては何もしません。何もしません!ハハハ!」
質問:
- 彼らはここで何をしているのですか?
- これは意味がありますか?
- どちらかといえば、確かにそうあるべきですが
option_value=1
、それは何5
ですか?
c - accept() から返されたクライアント ソケットの sockopt の設定
関数から返されたクライアント ソケットのソケット オプションを設定しようとしていaccept()
ます。しかし、それらは正しく設定されていません。
私の目的は、特定の時間非アクティブになった後にクライアントをタイムアウトにすることです。ただし、サーバーは引き続き他のクライアント接続を受け入れることができるはずです。
以下は、ソケットオプションを設定するコードです。何が間違っているのか教えてください。