Bootstrap

22.4.3.4 Tcp/Udp统计数据

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

IPGlobalProperties提供的GetTcpIPv4Statistics、GetTcpIPv6Statistics、GetUdpIPv4Statistics、GetUdpIPv6Statistics方法分别可以获得IPv4和IPv6对应的TCP和UDP统计信息。

GetTcpIPv4Statistics和GetTcpIPv6Statistics方法返回一个TcpStatistics类。

TcpStatistics 类提供TCP统计数据。

TcpStatistics常用属性:

  1. ConnectionsAccepted:接受的TCP连接请求数。
  2. ConnectionsInitiated:由客户端发出的TCP连接请求数。
  3. CumulativeConnections:指定建立的TCP连接的总数。
  4. CurrentConnections:当前TCP连接数。
  5. ErrorsReceived:收到的TCP错误数。
  6. FailedConnectionAttempts:失败的TCP连接尝试数。
  7. MaximumConnections:支持的TCP连接的最大数,如果为-1,则连接的最大数目是可变的
  8. MaximumTransmissionTimeout:TCP段的最大重新传输超时值,毫秒
  9. MinimumTransmissionTimeout:TCP段的最小重新传输超时值,毫秒
  10. ResetConnections:TCP连接收到的RST数据包数。
  11. ResetsSent:发送时设置了重置标志的TCP段数。
  12. SegmentsReceived:收到的TCP段数。
  13. SegmentsResent:重新发送的TCP段数。
  14. SegmentsSent:发送的TCP段数。

GetUdpIPv4Statistics和GetUdpIPv6Statistics方法返回一个UdpStatistics类。

UdpStatistics类提供UDP统计数据。

UdpStatistics常用属性:

  1. DatagramsReceived        :已接收的UDP数据报的数量。
  2. DatagramsSent:已发送的UDP数据报的数量。
  3. IncomingDatagramsDiscarded:已收到但因端口错误而丢弃的UDP数据报的数量。
  4. IncomingDatagramsWithErrors:已收到但因错误端口信息以外的错误而丢弃的UDP数据报的数量。
  5. UdpListeners:侦听UDP数据报的本地终结点的数量。

【例 22.10【项目:code22-010】Tcp/Udp统计数据。

        private void Button1_Click(object sender, EventArgs e)

        {

            IPGlobalProperties IPGProperties = IPGlobalProperties.GetIPGlobalProperties();

            TextBox1.Text = "TCP/IPv4统计数据:" + "\r\n";

            TcpStatistics TcpS = IPGProperties.GetTcpIPv4Statistics();

            TextBox1.Text += "接受的TCP连接请求数:" + TcpS.ConnectionsAccepted + "\r\n";

            TextBox1.Text += "客户端发出的TCP连接请求数:" + TcpS.ConnectionsInitiated + "\r\n";

            TextBox1.Text += "建立的TCP连接的总数:" + TcpS.CumulativeConnections + "\r\n";

            TextBox1.Text += "当前TCP连接数:" + TcpS.CurrentConnections + "\r\n";

            TextBox1.Text += "收到的TCP错误数:" + TcpS.ErrorsReceived + "\r\n";

            TextBox1.Text += "失败的TCP连接尝试:" + TcpS.FailedConnectionAttempts + "\r\n";

            TextBox1.Text += "支持的TCP连接的最大数:" + TcpS.MaximumConnections + "\r\n";

            TextBox1.Text += "最大重新传输超时值:" + TcpS.MaximumTransmissionTimeout + "\r\n";

            TextBox1.Text += "最小重新传输超时值:" + TcpS.MinimumTransmissionTimeout + "\r\n";

            TextBox1.Text += "连接收到的 RST 数据包数:" + TcpS.ResetConnections + "\r\n";

            TextBox1.Text += "重置标志的TCP段数:" + TcpS.ResetsSent + "\r\n";

            TextBox1.Text += "收到的TCP段数:" + TcpS.SegmentsReceived + "\r\n";

            TextBox1.Text += "重新发送的TCP段数:" + TcpS.SegmentsResent + "\r\n";

            TextBox1.Text += "发送的TCP段数:" + TcpS.SegmentsSent + "\r\n";

            TextBox1.Text += "=============================================" + "\r\n";

            TextBox1.Text += "TCP/IPv6统计数据:" + "\r\n";

            TcpStatistics TcpS6 = IPGProperties.GetTcpIPv6Statistics();

            TextBox1.Text += "接受的TCP连接请求数:" + TcpS6.ConnectionsAccepted + "\r\n";

            TextBox1.Text += "客户端发出的TCP连接请求数:" + TcpS6.ConnectionsInitiated + "\r\n";

            TextBox1.Text += "建立的TCP连接的总数:" + TcpS6.CumulativeConnections + "\r\n";

            TextBox1.Text += "当前TCP连接数:" + TcpS6.CurrentConnections + "\r\n";

            TextBox1.Text += "收到的TCP错误数:" + TcpS6.ErrorsReceived + "\r\n";

            TextBox1.Text += "失败的TCP连接尝试:" + TcpS6.FailedConnectionAttempts + "\r\n";

            TextBox1.Text += "支持的TCP连接的最大数:" + TcpS6.MaximumConnections + "\r\n";

            TextBox1.Text += "最大重新传输超时值:" + TcpS6.MaximumTransmissionTimeout + "\r\n";

            TextBox1.Text += "最小重新传输超时值:" + TcpS6.MinimumTransmissionTimeout + "\r\n";

            TextBox1.Text += "连接收到的 RST 数据包数:" + TcpS6.ResetConnections + "\r\n";

            TextBox1.Text += "重置标志的TCP段数:" + TcpS6.ResetsSent + "\r\n";

            TextBox1.Text += "收到的TCP段数:" + TcpS6.SegmentsReceived + "\r\n";

            TextBox1.Text += "重新发送的TCP段数:" + TcpS6.SegmentsResent + "\r\n";

            TextBox1.Text += "发送的TCP段数:" + TcpS6.SegmentsSent + "\r\n";

            TextBox1.Text += "=============================================" + "\r\n";

            TextBox1.Text += "UDP/IPv4统计数据:" + "\r\n";

            UdpStatistics UdpS = IPGProperties.GetUdpIPv4Statistics();

            TextBox1.Text += "已接收的UDP数据报的数量:" + UdpS.DatagramsReceived + "\r\n";

            TextBox1.Text += "已发送的UDP数据报的数量:" + UdpS.DatagramsSent + "\r\n";

            TextBox1.Text += "已收到但因端口错误而丢弃的UDP数据报的数量:" + UdpS.IncomingDatagramsDiscarded + "\r\n";

            TextBox1.Text += "错误而丢弃的UDP数据报的数量:" + UdpS.IncomingDatagramsWithErrors + "\r\n";

            TextBox1.Text += "侦听UDP数据报的本地终结点的数量:" + UdpS.UdpListeners + "\r\n";

            TextBox1.Text += "=============================================" + "\r\n";

            TextBox1.Text += "UDP/IPv6统计数据:" + "\r\n";

            UdpStatistics UdpS6 = IPGProperties.GetUdpIPv6Statistics();

            TextBox1.Text += "已接收的UDP数据报的数量:" + UdpS6.DatagramsReceived + "\r\n";

            TextBox1.Text += "已发送的UDP数据报的数量:" + UdpS6.DatagramsSent + "\r\n";

            TextBox1.Text += "已收到但因端口错误而丢弃的UDP数据报的数量:" + UdpS6.IncomingDatagramsDiscarded + "\r\n";

            TextBox1.Text += "错误而丢弃的UDP数据报的数量:" + UdpS6.IncomingDatagramsWithErrors + "\r\n";

            TextBox1.Text += "侦听UDP数据报的本地终结点的数量:" + UdpS6.UdpListeners + "\r\n";

        }

运行结果如下图所示:

图22-10 Tcp/Udp统计数据

 

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

;