問題タブ [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.
c++ - afx_msg void OnDestroy( ) 別名 CWnd:OnDestroy() を呼び出すことができるのはどのような場合ですか?
作成されたウィンドウがあり、ユーザーがウィンドウを閉じる「閉じる」または「X」ボタンをクリックすることなく、ある時点で OnDestroy() が呼び出されます。
この関数が呼び出される可能性のある他の操作/アクション/事柄は何ですか?またその理由は何ですか?
Microsoftのドキュメントはいつものように役に立たない:
http://msdn.microsoft.com/en-us/library/vstudio/2eahe3wf.aspx
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:
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 が表示され、予想よりもはるかに大きくなります。
バッファでも 400 パケットですが、そんなに大きな CWND を持つことはできません。
私のためにそれを説明してください、私は本当にこの問題で立ち往生しています。ありがとうございました!
networking - 受信機での輻輳制御アルゴリズム
多くの送信者が受信者にパケットを送信する状況について話していると仮定します。
多くの場合、送信者は、送信レートを制限するスライディング ウィンドウを使用して輻輳を制御します。
我々は持っています:
ネットワーク (ルーター、スイッチ) からの明示的または暗黙的なフィードバック情報を使用して、送信者はcwnd
送信レートを制御します。
通常、rwnd
は常に送信者のみが気にする十分な大きさですcwnd
。しかし、rwnd
を制限するために を使用すると、snd_cwnd
輻輳制御がより効率的になります。
rwnd
受信者が受信できるパケット (またはバイト) の数です。私が懸念しているのは、送信者の能力です。
質問:
1. 受信側は、パケットを送信しているフローの数をどうやって知るのでしょうか?
2. 受信者が送信者の snd_cwnd を知っているということはありますか?
c++ - CWnd::OnCreate 関数が呼び出されない
概要:
2 つのユーティリティがあり、どちらも同じ共通のインターフェイスを持っています。つまり、「ユーザー名を要求する」ダイアログ ボックスを開きます。
「ユーザー名のリクエスト」のコードは別のライブラリに記述されており、これらのユーティリティは両方ともそのライブラリを呼び出します。
問題:
1 つのユーティリティでは正常に動作し、ユーザー名を要求するこのダイアログ ボックスが表示されましたが、他のユーティリティでは表示されません。
私の調査: より深い調査で、これらのユーティリティの両方が CDialog::DoModal() を呼び出し、次に onCreate() を呼び出すことがわかりました。私の他のユーティリティでは、ブレークポイントが onCreate function にヒットすることはありません。理由はありますか?
サンプルコード
multithreading - 64 ビット ウィンドウで 34 サイクルを繰り返した後、ワーカー スレッド内からプログレス コントロールを作成しているときに CWnd::DefWindowProc で Mfc アプリケーションがクラッシュする
64 ビット システムで実行されている 32 ビット MFC アプリケーションでクラッシュが発生した正確な理由を突き止めようとしています。実際、これはマルチスレッドの MFC SDI アプリケーションであり、検査を含む循環実行を実行し、検査結果をレポートとして出力できます。
検査が終了すると、レポートが生成されるまで進行状況を制御するカスタム アラート ウィンドウが表示されます。アラート ウィンドウはワーカー スレッドから作成され、メイン スレッドはウィンドウが作成されるまで待機します。
以下は、進行状況バーを使用してアラート ウィンドウを表示する 1 サイクルのコード表現です。
そのため、実行中に、35 番目のサイクルのメソッドを呼び出した後に callWindowProc を実行しようとしm_progctrl.Create
ているメソッドで Wincore.cpp でクラッシュします。CWnd::DefWindowProc
CPopupWindow::Show
c++ - 実行時に CWnd 派生コントロールを作成する
CWnd
実行時に派生クラスを作成しようとしていますが、CWnd::Create
失敗します。理由がわかりません。問題を示す最小限のコードを次に示します。
MFCTestApplicationDlg.h
MFCTestApplicationDlg.cpp
で派生クラスオブジェクトと派生クラスオブジェクトvoid CMFCTestApplicationDlg::DoDataExchange(CDataExchange* pDX)
を作成してみました。最初のものは正常に作成されましたが、派生クラス オブジェクトの作成に失敗しました。このコードの何が問題なのですか?CButton
CWnd
CWnd