问题标签 [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() aka CWnd:OnDestroy()?
我有一个创建的窗口,并且 OnDestroy() 在某些时候被调用,而用户却没有点击关闭窗口的“关闭”或“X”按钮。
还有哪些其他操作/动作/事物可能导致调用此函数,为什么?
微软的文档像往常一样没用:
http://msdn.microsoft.com/en-us/library/vstudio/2eahe3wf.aspx
mfc - 如果它是无模式的,我们可以禁用或使对话框模式化吗?
我有一个应用程序,它有一个搜索按钮和一个放置搜索项目的电子表格。现在搜索按钮会弹出一个“搜索”对话框,该对话框是无模式的,因此意味着您仍然可以在电子表格上工作。如果右键单击已放置在电子表格上的项目,并且“搜索”对话框仍然在旁边打开,则会弹出另一个对话框“B”,它是模态的并导致应用程序冻结,直到我们以某种方式终止对话框“B” . 但是“搜索”对话框是可操作的并且不是所希望的。任何人都可以建议任何方法,当对话框“B”启动时,我可以使“搜索”对话框与应用程序的其余部分一样无效?
cwnd - 什么会限制 cwnd(拥塞窗口)的增长?
当我使用 tcp_probe 模块为 TCP 连接收集 cwnd 时,cwnd 将停止增加大约 1467(数据包)。谁能解释这个原因?或者是什么限制了地球上的 cwnd ?
TCP 连接是从 host1 (192.168.0.2) 下载 2G 文件到 host2 (192.168.0.25),这是我的连接命令。
@主机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,Switch 有 400 个数据包的缓冲区。
每条链路的延迟为 0.125ms,因此 H1、H2 之间的 RTT 为 4*0.125=0.5ms
CWND(拥塞窗口)是发送方在一个 RTT 中发送的数据包数,因此吞吐量计算为:吞吐量 = CWND/RTT。
因为 MAX(吞吐量) < 带宽所以 CWND < RTT*bandwidth=0.5*10^(-3)*100*10^6=50000b~6KB = 4packets
但是当我使用 tcp_probe 工具监控 CWND 时,它令人惊讶地显示 CWND 总是大于 200KB(~120packets),比我预期的要大得多。
即使缓冲区是 400 个数据包,但它不能有这么大的 CWND。
请为我解释一下,我真的被这个问题困住了。谢谢!
networking - 接收端拥塞控制算法
假设我们谈论许多发送者向接收者发送数据包的情况。
通常,发送者会通过使用限制发送速率的滑动窗口来控制拥塞。
我们有:
使用来自网络(路由器、交换机)的显式或隐式反馈信息,发送方将cwnd
控制发送速率。
通常,rwnd
总是足够大,发件人只关心cwnd
。但是如果我们考虑rwnd
,用它来限制snd_cwnd
,它会使拥塞控制更有效。
rwnd
是接收器能够接收的数据包(或字节)数。我关心的是发件人的能力。
问题:
1. 那么接收方如何知道有多少流向它发送数据包?
2. 接收方是否知道发送方的 snd_cwnd?
c++ - CWnd::OnCreate 函数永远不会被调用
概述:
我有 2 个实用程序,它们都有相同的通用界面,即打开一个对话框来“请求用户名”。
“请求用户名”的代码写在不同的库中,这两个实用程序都调用该库。
问题:
在 1 个实用程序中它工作正常,我得到了这个对话框,它请求用户名,但在其他实用程序中它没有出现。
我的调查: 在更深入的调查中,我发现这两个实用程序都调用 CDialog::DoModal() ,而后者又调用 onCreate() 。在我的其他实用程序断点中,永远不会命中 onCreate 函数。知道为什么吗?
示例代码
multithreading - Mfc 应用程序在 CWnd::DefWindowProc 中崩溃,同时在 64 位窗口上 34 个重复周期后从工作线程内创建进度控制
我试图找出在 64 位系统上运行的 32 位 MFC 应用程序发生崩溃的确切原因。实际上这是一个多线程 MFC SDI 应用程序,可以循环执行,包括检查和输出检查结果作为报告。
检查完成后,它会显示一个带有进度控制的自定义警报窗口,直到生成报告为止。警报窗口是从工作线程创建的,主线程会一直等待,直到创建窗口。
下面是一个循环显示带有进度条的警报窗口的代码表示:
因此,在调用第 35 个周期的方法后,尝试执行 callWindowProcm_progctrl.Create
的方法在执行时在 Wincore.cpp 中崩溃。CWnd::DefWindowProc
CPopupWindow::Show
c++ - 有没有办法使用控件的 ID 获取控件的句柄或 CWnd*
如果我有一个带有按钮控件的 MFC 对话框,有没有办法使用按钮的 ID(例如 IDC_BUTTON_YES)为该控件构造 HWND 或 CWND?
c++ - 在运行时创建 CWnd 派生控件
我试图CWnd
在运行时创建派生类但CWnd::Create
失败了。我不知道为什么。这是显示问题的最少代码:
MFCTestApplicationDlg.h
MFCTestApplicationDlg.cpp
在void CMFCTestApplicationDlg::DoDataExchange(CDataExchange* pDX)
我尝试创建CButton
派生类对象和CWnd
派生类对象。第一个创建成功,但CWnd
派生类对象创建失败。这段代码有什么问题?