我对获取连接的拥塞窗口大小感兴趣。该连接由另一个程序创建。我希望我们可以使用proc中的某个文件获取此拥塞窗口大小,或者,有一个调用从内核获取此信息...
所以我需要更多关于这些方法的潜在客户...
答案 0 :(得分:3)
如果您使用的是Linux,则可以使用getsockopt()
套接字级别和TCP_INFO
套接字选项在套接字上使用IPPROTO_TCP
。
struct tcp_info
结构具有成员tcpi_snd_cwnd
。可以找到相当广泛的写作here。
FreeBSD也有一个similar feature。
Windows使用TcpConnectionEstatsSndCong
作为统计信息类型,通过GetPerTcpConnectionEStats()
调用提供拥塞窗口信息。
答案 1 :(得分:1)
我的解决方案是使用tcpdump来捕获数据包重传,解雇,ecn-cwr。这些表明窗口大小将被折叠,每个窗口大小都有不同的崩溃幅度。但它现在只是计算这些数量并将它们插入initcwnd大小的问题。
我认为这比jxh建议的要容易。