递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 510|回复: 3
打印 上一主题 下一主题

[视窗] 发现个有意思的windows API

[复制链接]

119

主题

652

帖子

2318

积分

金牌会员

Rank: 6Rank: 6

积分
2318
QQ
跳转到指定楼层
楼主
发表于 7 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 server 于 2025-5-5 20:46 编辑

hp-socket 作者 来看看。
可以取到 RTT 值。
可以通过RTT 推算出 大概的 RTO 值。
GetPerTcpConnectionEStats 函数 (iphlpapi.h) - Win32 apps | Microsoft Learn
TCP_ESTATS_FINE_RTT_RW_v0 (tcpestats.h) - Win32 apps | Microsoft Learn
MIB_TCPROW_LH (tcpmib.h) - Win32 apps | Microsoft Learn

  1. IPHLPAPI_DLL_LINKAGE ULONG GetPerTcpConnectionEStats(
  2.         PMIB_TCPROW     Row,
  3.         TCP_ESTATS_TYPE EstatsType,
  4.   [out] PUCHAR          Rw,
  5.         ULONG           RwVersion,
  6.         ULONG           RwSize,
  7.   [out] PUCHAR          Ros,
  8.         ULONG           RosVersion,
  9.         ULONG           RosSize,
  10.   [out] PUCHAR          Rod,
  11.         ULONG           RodVersion,
  12.         ULONG           RodSize
  13. );
复制代码
  1. TcpConnectionEstatsFineRtt
  2. 此值请求 TCP 连接的精细往返时间 (RTT) 估计统计信息。
  3. 此枚举值仅提供只读动态信息和读/写信息。

  4. 如果 Rw 参数不为 NULL 且函数成功,则 Rw 参数指向的缓冲区应包含 TCP_ESTATS_FINE_RTT_RW_v0 结构。

  5. 如果此 TCP 连接开启了细粒度的 RTT 估计统计,则 Rod 参数不为 NULL,且函数成功,则 Rod 参数指向的缓冲区应包含 TCP_ESTATS_FINE_RTT_ROD_v0 结构。
复制代码
  1. typedef struct _TCP_ESTATS_FINE_RTT_ROD_v0 {
  2.   ULONG RttVar;
  3.   ULONG MaxRtt;
  4.   ULONG MinRtt;
  5.   ULONG SumRtt;
  6. } TCP_ESTATS_FINE_RTT_ROD_v0, *PTCP_ESTATS_FINE_RTT_ROD_v0;

  7. RttVar

  8. 类型: ULONG

  9. 启用 TCP 扩展统计信息功能时,接收窗口自动调整中使用的往返时间变化(以微秒为单位)。

  10. MaxRtt

  11. 类型: ULONG

  12. 最大采样往返时间,以微秒为单位。

  13. MinRtt

  14. 类型: ULONG

  15. 最小采样往返时间,以微秒为单位。

  16. SumRtt

  17. 类型: ULONG

  18. 根据所有采样的往返时间计算得出的平滑值往返时间(以微秒为单位)。平滑是使用 RttVar 成员的加权加法函数。
复制代码
  1. typedef struct _TCP_ESTATS_FINE_RTT_RW_v0 {
  2.   BOOLEAN EnableCollection;
  3. } TCP_ESTATS_FINE_RTT_RW_v0, *PTCP_ESTATS_FINE_RTT_RW_v0;

  4. EnableCollection

  5. 一个值,该值指示是否应收集 TCP 连接的扩展统计信息以进行精细的 RTT 估计统计信息。

  6. 如果此成员设置为 TRUE,则启用 TCP 连接的扩展统计信息。如果此成员设置为 FALSE,则禁用有关 TCP 连接的扩展统计信息。

  7. 未设置时,此成员的默认状态为 disabled。
复制代码






专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

119

主题

652

帖子

2318

积分

金牌会员

Rank: 6Rank: 6

积分
2318
QQ
沙发
 楼主| 发表于 7 天前 | 只看该作者
dwLocalAddr
类型:DWORD
本地计算机上 TCP 连接的本地 IPv4 地址。值为零表示侦听器可以接受任何接口上的连接。
dwLocalPort
类型:DWORD
本地计算机上 TCP 连接的网络字节顺序中的本地端口号。
IP 端口号的最大大小为 16 位,因此只应使用较低的 16 位。高 16 位可能包含未初始化的数据。
dwRemoteAddr
类型:DWORD
远程计算机上 TCP 连接的 IPv4 地址。当 dwState 成员MIB_TCP_STATE_LISTEN时,此值没有意义。
dwRemotePort
类型:DWORD
远程计算机上 TCP 连接的远程端口号(按网络字节顺序排列)。当 dwState 成员MIB_TCP_STATE_LISTEN时,此成员没有意义。
IP 端口号的最大大小为 16 位,因此只应使用较低的 16 位。高 16 位可能包含未初始化的数据。

专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

4

主题

225

帖子

905

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
905
板凳
发表于 6 天前 | 只看该作者
不明觉厉 顶一下:噜阿噜:噜阿噜:噜阿噜
回复

使用道具 举报

92

主题

539

帖子

2072

积分

金牌会员

Rank: 6Rank: 6

积分
2072
地板
发表于 6 天前 | 只看该作者
没什么用,不过有心了也许有人需要
火山PC HP_SOCKET 控件 交流群:956446702
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-5-12 15:09 , Processed in 0.087739 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表