問題タブ [cwnd]

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.

0 投票する
1 に答える
887 参照

c++ - afx_msg void OnDestroy( ) 別名 CWnd:OnDestroy() を呼び出すことができるのはどのような場合ですか?

作成されたウィンドウがあり、ユーザーがウィンドウを閉じる「閉じる」または「X」ボタンをクリックすることなく、ある時点で OnDestroy() が呼び出されます。

この関数が呼び出される可能性のある他の操作/アクション/事柄は何ですか?またその理由は何ですか?

Microsoftのドキュメントはいつものように役に立たない:

http://msdn.microsoft.com/en-us/library/vstudio/2eahe3wf.aspx

0 投票する
1 に答える
463 参照

cwnd - cwnd(輻輳ウィンドウ)の成長を制限するものは何ですか?

tcp_probe モジュールを使用して TCP 接続の cwnd を収集すると、cwnd が停止して約 1467 (パケット) 増加します。誰でもこの理由を説明できますか? または地球上のcwndを制限しているものは何ですか?

TCP 接続は、host1 (192.168.0.2) から host2 (192.168.0.25) への 2G ファイルのダウンロードです。この接続のコマンドは次のとおりです。

@ホスト1: python -m SimpleHTTPServer

@ホスト2: wget http://192.168.0.2:8000/test_2G

tcp_probe を使用して cwnd を収集するコマンドは次のとおりです。

@ホスト1:modprobe tcp_probe port=800 full=1

あなたが知りたいかもしれない他の情報はここにあります:

@ホスト1:

0 投票する
1 に答える
6995 参照

tcp - TCP 輻輳ウィンドウのサイズが大きすぎますか?

Mininet を使用して、2 つのホストと 1 つのスイッチで構成されるネットワークをエミュレートしようとしています。一方のホストは送信側であり、iperf ツールを使用してもう一方のホスト (受信側) に継続的にパケットを送信します。

H1--------------------------------スイッチ-------------------- ------H2

-------100Mbps|0.125ms-----------100Mbps|0.125ms------

ホストとスイッチ間のリンクの帯域幅は 100Mbps、遅延は 0.125ms です。

送信される各パケットのサイズは 1.5KB で、スイッチには 400 パケットのバッファがあります。

各リンクの遅延は 0.125 ミリ秒であるため、H1、H2 間の RTT は 4*0.125=0.5 ミリ秒です。

CWND (輻輳ウィンドウ) は、送信者が 1 回の RTT で送信するパケットの数であるため、スループットは次のように計算されます: スループット = CWND/RTT。

MAX(througput) < 帯域幅であるため、CWND < RTT*帯域幅=0.5*10^(-3)*100*10^6=50000b~6KB = 4 パケット

しかし、tcp_probe ツールを使用して CWND を監視すると、驚いたことに、常に 200KB (~120 パケット) を超える CWND が表示され、予想よりもはるかに大きくなります。

TCP CWND プロット

バッファでも 400 パケットですが、そんなに大きな CWND を持つことはできません。

私のためにそれを説明してください、私は本当にこの問題で立ち往生しています。ありがとうございました!

0 投票する
1 に答える
312 参照

networking - 受信機での輻輳制御アルゴリズム

多くの送信者が受信者にパケットを送信する状況について話していると仮定します。
多くの場合、送信者は、送信レートを制限するスライディング ウィンドウを使用して輻輳を制御します。

我々は持っています:

ネットワーク (ルーター、スイッチ) からの明示的または暗黙的なフィードバック情報を使用して、送信者はcwnd送信レートを制御します。

通常、rwndは常に送信者のみが気にする十分な大きさですcwnd。しかし、rwndを制限するために を使用すると、snd_cwnd輻輳制御がより効率的になります。

rwnd受信者が受信できるパケット (またはバイト) の数です。私が懸念しているのは、送信者の能力です。

質問:
1. 受信側は、パケットを送信しているフローの数をどうやって知るのでしょうか?
2. 受信者が送信者の snd_cwnd を知っているということはありますか?

0 投票する
1 に答える
275 参照

linux - 初期輻輳ウィンドウでの変更を確認します

サーバーの初期 CWND を変更した場合の影響を確認しようとしています。これはここに示されています。設定した値に変更されたかどうかを確認するには、これを参照しています。しかし、変更を確認できません。Linux 2.6以降のデフォルトでは.38 デフォルトの InitCWND は 10 です。initcwnd を確認する他の方法はありますか? こちらの投稿もこちら

0 投票する
1 に答える
1808 参照

c++ - CWnd::OnCreate 関数が呼び出されない

概要:
2 つのユーティリティがあり、どちらも同じ共通のインターフェイスを持っています。つまり、「ユーザー名を要求する」ダイアログ ボックスを開きます。
「ユーザー名のリクエスト」のコードは別のライブラリに記述されており、これらのユーティリティは両方ともそのライブラリを呼び出します。

問題:

1 つのユーティリティでは正常に動作し、ユーザー名を要求するこのダイアログ ボックスが表示されましたが、他のユーティリティでは表示されません。

私の調査: より深い調査で、これらのユーティリティの両方が CDialog::DoModal() を呼び出し、次に onCreate() を呼び出すことがわかりました。私の他のユーティリティでは、ブレークポイントが onCreate function にヒットすることはありません。理由はありますか?

サンプルコード

0 投票する
0 に答える
984 参照

multithreading - 64 ビット ウィンドウで 34 サイクルを繰り返した後、ワーカー スレッド内からプログレス コントロールを作成しているときに CWnd::DefWindowProc で Mfc アプリケーションがクラッシュする

64 ビット システムで実行されている 32 ビット MFC アプリケーションでクラッシュが発生した正確な理由を突き止めようとしています。実際、これはマルチスレッドの MFC SDI アプリケーションであり、検査を含む循環実行を実行し、検査結果をレポートとして出力できます。

検査が終了すると、レポートが生成されるまで進行状況を制御するカスタム アラート ウィンドウが表示されます。アラート ウィンドウはワーカー スレッドから作成され、メイン スレッドはウィンドウが作成されるまで待機します。

以下は、進行状況バーを使用してアラート ウィンドウを表示する 1 サイクルのコード表現です。

そのため、実行中に、35 番目のサイクルのメソッドを呼び出した後に callWindowProc を実行しようとしm_progctrl.Createているメソッドで Wincore.cpp でクラッシュします。CWnd::DefWindowProcCPopupWindow::Show

0 投票する
0 に答える
1058 参照

c++ - 実行時に CWnd 派生コントロールを作成する

CWnd実行時に派生クラスを作成しようとしていますが、CWnd::Create失敗します。理由がわかりません。問題を示す最小限のコードを次に示します。

MFCTestApplicationDlg.h

MFCTestApplicationDlg.cpp

で派生クラスオブジェクトと派生クラスオブジェクトvoid CMFCTestApplicationDlg::DoDataExchange(CDataExchange* pDX)を作成してみました。最初のものは正常に作成されましたが、派生クラス オブジェクトの作成に失敗しました。このコードの何が問題なのですか?CButtonCWndCWnd