我有一个使用winsock创建TCPIP套接字的win32应用程序。
这很好,除了在某些情况下我想知道有关实际套接字的统计信息。像发送,接收的数据包,发送的总字节数等等。但我想看到的最重要的数据是数据包丢失。
我无法找到获得此类数据的正确调用,我查看了getsockopt并找不到获取此类数据的好方法。
有没有办法在Windows API上获取TCP套接字的低级统计信息?
供参考我使用的是Windows 7(64位版本)
谢谢!
答案 0 :(得分:0)
您可以尝试GetTcpStatisticsEx。它返回MIB_TCPSTATS结构,其中包含重传计数:
typedef struct _MIB_TCPSTATS {
DWORD dwRtoAlgorithm;
DWORD dwRtoMin;
DWORD dwRtoMax;
DWORD dwMaxConn;
DWORD dwActiveOpens;
DWORD dwPassiveOpens;
DWORD dwAttemptFails;
DWORD dwEstabResets;
DWORD dwCurrEstab;
DWORD dwInSegs;
DWORD dwOutSegs;
DWORD dwRetransSegs; // <=========
DWORD dwInErrs;
DWORD dwOutRsts;
DWORD dwNumConns;
} MIB_TCPSTATS;
<强> dwRetransSegs 强>
输入: DWORD重新传输的段数。