当前位置: 首页 > news >正文

22.4.3.2 TCP/UDP连接信息

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

通过IPGlobalProperties的方法可以获得有关TCP和UDP连接的信息:

GetActiveTcpConnections方法获得所有的TCP连接的信息(TcpConnectionInformation对象数组)。

GetActiveTcpListeners方法可以获得TCP侦听信息(IPEndPoint对象数组) 。

GetActiveUdpListeners方法获得UDP侦听信息(IPEndPoint类对象数组)。

上述方法涉及到的类包括:

TcpConnectionInformation 类提供有关本地计算机上的 TCP 连接的信息。

TcpConnectionInformation常用属性:

  1. LocalEndPoint  TCP:连接的本地终结点。这是一个IPEndPoint类(参看本节)。
  2. RemoteEndPoint:TCP 连接的远程终结点。这是一个IPEndPoint类(参看本节)。
  3. State:TCP 连接的状态。这是一个TcpState 枚举(参看本节)。

IPEndPoint 类将网络端点表示为IP地址和端口号。

IPEndPoint常用属性:

  1. Address:获取或设置终结点的 IP 地址。这是一个IPAddress类(参看第22.1节)。
  2. AddressFamily :获取网际协议 (IP) 地址族。这是一个AddressFamily枚举(参看第22.1节)。
  3. Port:获取或设置终结点的端口号。

TcpState枚举 指定TCP连接的状态。成员包括:

  1. Closed:关闭状态。
  2. CloseWait:正在等待来自本地用户的连接终止请求。
  3. Closing:正在等待对先前发送的连接终止请求的确认。
  4. DeleteTcb:正在删除 TCP 连接的传输控制缓冲区 (TCB)。
  5. Established:TCP 握手完成。 已建立连接,可以发送数据。
  6. FinWait1:等待来自远程终结点的连接终止请求或对先前发送的连接终止请求的确认。
  7. FinWait2:正在等待来自远程终结点的连接终止请求。
  8. LastAck:正在等待对先前发送的连接终止请求的最终确认。
  9. Listen:正在侦听来自任何远程终结点的连接请求。
  10. SynReceived:已发送并收到连接请求并且正在等待确认。
  11. SynSent:已向远程终结点发送一个设置了同步 (SYN) 控制位的段标头并且正在等待匹配的连接请求。
  12. TimeWait:正在等待足够的时间后传递,以确保远程终结点收到了它的连接终止请求确认。
  13. Unknown:未知状态。

然后分别用for each来循环获得对应类的信息

【例 22.8【项目:code22-008】本机TCP/UDP连接信息。

        private void Button1_Click(object sender, EventArgs e)

        {

            IPGlobalProperties IPGProperties = IPGlobalProperties.GetIPGlobalProperties();

            TextBox1.Text = "TCP连接:===================" + "\r\n";

            foreach(TcpConnectionInformation tcpConnectionInfo in IPGProperties.GetActiveTcpConnections())

                TextBox1.Text += tcpConnectionInfo.LocalEndPoint.Address.ToString() + ":" +

                                 tcpConnectionInfo.LocalEndPoint.Port.ToString() + "-" +

                                 tcpConnectionInfo.RemoteEndPoint.Address.ToString() + ":" +

                                 tcpConnectionInfo.RemoteEndPoint.Port.ToString() + " " +

                                 getState(tcpConnectionInfo.State) + "\r\n";

            TextBox1.Text += "TCp侦听:===================" + "\r\n";

            foreach(IPEndPoint tcpIPEP in IPGProperties.GetActiveTcpListeners())

                TextBox1.Text += tcpIPEP.Address.ToString() + ":" + tcpIPEP.Port.ToString() + "\r\n";

            TextBox1.Text += "Udp侦听:===================" + "\r\n";

            foreach(IPEndPoint udpIPEP in IPGProperties.GetActiveUdpListeners())

                TextBox1.Text += udpIPEP.Address.ToString() + ":" + udpIPEP.Port.ToString() + "\r\n";

        }

        //返回状态信息的字符串

        private string getState(TcpState currentState)

        {

            switch(currentState)

            {

                case TcpState.Closed:

                    return "关闭";

                case TcpState.CloseWait:

                    return "等待连接终止";

                  case TcpState.Closing:

                    return "连接关闭中";

                case TcpState.Listen:

                    return "正在侦听";

                case TcpState.Established:

                    return "已建立连接";

                case TcpState.SynReceived:

                    return "已发送并收到连接请求并且正在等待确认";

                case TcpState.SynSent:

                    return "等待匹配的连接请求";

                case TcpState.TimeWait:

                    return "等待";

                default:

                    return "其它状态";

            }

        }

运行结果如下图所示:

图22-8 网络连接信息

 

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

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

相关文章:

  • 深度学习在文本情感分析中的应用
  • java数据结构_优先级队列(堆)_6.2
  • 4. grafana(7.5.17)功能菜单简介
  • 15-最后一个单词的长度
  • 体验用ai做了个python小游戏
  • ECOLOGY流程表单字段由单行文本改成多行文本
  • DeepSeek + Claude 提升效果
  • 当C#邂逅Deepseek, 或.net界面集成deepseek
  • Weblogic 反序列化漏洞深度剖析与复现
  • MouseWithoutBorder鼠标指针闪烁、变大+AltTab有程序执行的问题解决方案
  • 【算法】787. 归并排序
  • 指标管理项目建设的高频问题和解决思路
  • 房屋价格 - 高级回归技术
  • Visual Studio Code 集成 Baidu Comate
  • Spring Boot 内置工具类
  • LeetCode刷题---哈希表---347
  • UE_C++ —— Container TMap
  • scratch猜年龄互动小游戏 2024年12月scratch四级真题 中国电子学会 图形化编程 scratch四级真题和答案解析
  • 问卷数据分析|SPSS实操之相关分析
  • Windows 图形显示驱动开发-IoMmu 模型
  • 莱布雷希特专栏:古典乐坛边缘人
  • 国家统计局:消费对我国经济增长的拉动有望持续增长
  • 西藏普兰县公安局网安大队向自媒体人宣传网络安全知识
  • 福建、广西等地有大暴雨,国家防总启动防汛四级应急响应
  • 经济日报:人工智能开启太空经济新格局
  • 2025年“新时代网络文明公益广告”征集展示活动在沪启动