当前位置:  编程技术>.net/c#/asp.net

c#检测端口是否被占用的简单实例

    来源: 互联网  发布时间:2014-10-25

    本文导语:  当我们要创建一个Tcp/Ip Server connection ,我们需要一个范围在1000到65535之间的端口 。 但是本机一个端口只能一个程序监听,所以我们进行本地监听的时候需要检测端口是否被占用。 命名空间System.Net.NetworkInformation下定义了一个名...

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

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

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

代码如下:

public static bool PortInUse(int port)
{
    bool inUse = false;

    IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
    IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();

    foreach (IPEndPoint endPoint in ipEndPoints)
    {
        if (endPoint.Port == port)
        {
            inUse = true;
            break;
        }
    }

    return inUse;
}

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

代码如下:

static void Main(string[] args)
{
    HttpListener httpListner = new HttpListener();
    httpListner.Prefixes.Add("http://*:8080/");
    httpListner.Start();

    Console.WriteLine("Port: 8080 status: " + (PortInUse(8080) ? "in use" : "not in use"));

    Console.ReadKey();

    httpListner.Close();
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • 编一个程序,检测Linux系统下机器网卡的状态(只要检测网络线是否被拔掉?)
  • redhat声卡检测能检测到声卡,为什么没有声音啊??
  • Web 应用安全检测工具 Rational AppScan
  • jquery代码-如何检测各种浏览器
  • 怎样用java编写网络检测程序???(好象和snmp有关)
  • 在一个线程中的run()方法里面用无限循环的方式来检测某一个类中的变量的状态,当检测到该状态为true时,再判断该变量如果连续维持true状
  • 开源智能分布式检测框架 Razorback
  • 每次启机都会检测硬盘 浪费时间
  • 内核内存泄露检测
  • 入侵检测程序 OSSEC
  • 入侵检测系统 Snort
  • 人脸检测库 fdlib
  • 硬件检测工具 HDT
  • C代码漏洞检测工具 Splint
  • Java 中如何检测内存泄漏?
  • 请教:如何检测到第二块网卡
  • 如何在文本区域中检测回车符??? 急急急
  • 如何让linux重启时自动检测文件系统!??
  • 如何才能检测到声卡?
  • 内存检测的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3