工控编程吧

标题: 上位机MFC如何获得本地计算机的TCP协议统计信息 [打印本页]

作者: qq263946146    时间: 2019-8-8 10:43
标题: 上位机MFC如何获得本地计算机的TCP协议统计信息

  1. #include "IPHlpApi.h"
  2. #pragma comment(lib,"IPHLPAPI.LIB")
  3. #pragma comment(lib,"netapi32.lib ")

  4. void CGkbc8Dlg::OnButton2()
  5. {
  6. CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  7.         pListBox->ResetContent();

  8.         MIB_TCPSTATS TCPStats;

  9.         //获得TCP协议统计信息
  10.         if (GetTcpStatistics(&TCPStats) != NO_ERROR)
  11.         {
  12.                 return;
  13.         }

  14.         CString strText = _T("");
  15.         strText.Format(_T("time-out algorithm:%d"),
  16.                 TCPStats.dwRtoAlgorithm);
  17.         pListBox->AddString(strText);
  18.         strText.Format(_T("minimum time-out:%d"),
  19.                 TCPStats.dwRtoMin);
  20.         pListBox->AddString(strText);
  21.         strText.Format(_T("maximum time-out:%d"),
  22.                 TCPStats.dwRtoMax);
  23.         pListBox->AddString(strText);
  24.         strText.Format(_T("maximum connections:%d"),
  25.                 TCPStats.dwMaxConn);
  26.         pListBox->AddString(strText);
  27.         strText.Format(_T("active opens:%d"),
  28.                 TCPStats.dwActiveOpens);
  29.         pListBox->AddString(strText);
  30.         strText.Format(_T("passive opens:%d"),
  31.                 TCPStats.dwPassiveOpens);
  32.         pListBox->AddString(strText);
  33.         strText.Format(_T("failed attempts:%d"),
  34.                 TCPStats.dwAttemptFails);
  35.         pListBox->AddString(strText);
  36.         strText.Format(_T("established connections reset:%d"),
  37.                 TCPStats.dwEstabResets);
  38.         pListBox->AddString(strText);
  39.         strText.Format(_T("established connections:%d"),
  40.                 TCPStats.dwCurrEstab);
  41.         pListBox->AddString(strText);
  42.         strText.Format(_T("segments received:%d"),
  43.                 TCPStats.dwInSegs);
  44.         pListBox->AddString(strText);
  45.         strText.Format(_T("segment sent:%d"),
  46.                 TCPStats.dwOutSegs);
  47.         pListBox->AddString(strText);
  48.         strText.Format(_T("segments retransmitted:%d"),
  49.                 TCPStats.dwRetransSegs);
  50.         pListBox->AddString(strText);
  51.         strText.Format(_T("incoming errors:%d"),
  52.                 TCPStats.dwInErrs);
  53.         pListBox->AddString(strText);
  54.         strText.Format(_T("outgoing resets:%d"),
  55.                 TCPStats.dwOutRsts);
  56.         pListBox->AddString(strText);
  57.         strText.Format(_T("cumulative connections:%d"),
  58.                 TCPStats.dwNumConns);
  59.         pListBox->AddString(strText);
  60. }
复制代码

如上面的按钮点击代码。点击后会在列表控件中显示出信息。
IDC_LIST1为我们添加的列表框控件ID:CListBox;
(, 下载次数: 1)