zoukankan      html  css  js  c++  java
  • c#检测端口是否被占用

     当我们要创建一个Tcp/Ip Server connection ,我们需要一个范围在1000到65535之间的端口 。

    但是本机一个端口只能一个程序监听,所以我们进行本地监听的时候需要检测端口是否被占用。

            命名空间System.Net.NetworkInformation下定义了一个名为IPGlobalProperties的类,我们使用这个类可以获取所有的监听连接,然后判断端口是否被占用,代码如下:

     1 public static bool PortInUse(int port)
     2 {
     3     bool inUse = false;
     4             
     5     IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
     6     IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
     7             
     8     foreach (IPEndPoint endPoint in ipEndPoints)
     9     {
    10         if (endPoint.Port == port)
    11         {
    12             inUse = true;
    13             break;
    14         }
    15     }
    16 
    17     return inUse;
    18 }

     我们使用HttpListner类在8080端口启动一个监听,然后测试是否可以被检测出来,代码如下:

     1 static void Main(string[] args)
     2 {
     3     HttpListener httpListner = new HttpListener();
     4     httpListner.Prefixes.Add("http://*:8080/");
     5     httpListner.Start();
     6 
     7     Console.WriteLine("Port: 8080 status: " + (PortInUse(8080) ? "in use" : "not in use"));
     8 
     9     Console.ReadKey();
    10 
    11     httpListner.Close();
    12 }

    原文地址:http://www.cnblogs.com/smiler/p/3460462.html

    因为原文没有找到收藏的地方,就复制过来了,谢谢啦

  • 相关阅读:
    python汉诺塔
    圆周率计算
    PIL: 建立一个GIF图
    Jieba库使用和好玩的词云
    Turtle库的建立——汉诺塔
    计算pi的精度+进度条显示
    Python——我所学习的turtle函数库
    Python——教你画朵太阳花
    Python常用模块re的使用
    正则表达式字符组/元字符/量词
  • 原文地址:https://www.cnblogs.com/oracleblogs/p/3465619.html
Copyright © 2011-2022 走看看