这里主要用到:命名空间System.Net.NetworkInformation下定义了一个名为IPGlobalProperties的类
具体代码
1 class PortHelper 2 { 3 4 #region 指定类型的端口是否已经被使用了 5 /// <summary> 6 /// 指定类型的端口是否已经被使用了 7 /// </summary> 8 /// <param name="port">端口号</param> 9 /// <param name="type">端口类型</param> 10 /// <returns></returns> 11 public bool portInUse(int port,PortType type) 12 { 13 bool flag = false; 14 IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties(); 15 IPEndPoint[] ipendpoints = null; 16 if (type == PortType.TCP) 17 { 18 ipendpoints = properties.GetActiveTcpListeners(); 19 } 20 else 21 { 22 ipendpoints = properties.GetActiveUdpListeners(); 23 } 24 foreach (IPEndPoint ipendpoint in ipendpoints) 25 { 26 if (ipendpoint.Port == port) 27 { 28 flag = true; 29 break; 30 } 31 } 32 ipendpoints = null; 33 properties = null; 34 return flag; 35 } 36 #endregion 37 38 } 39 40 #region 端口枚举类型 41 /// <summary> 42 /// 端口类型 43 /// </summary> 44 enum PortType 45 { 46 /// <summary> 47 /// TCP类型 48 /// </summary> 49 TCP, 50 /// <summary> 51 /// UDP类型 52 /// </summary> 53 UDP 54 } 55 #endregion
时间: 2024-11-07 17:02:54