检测端口是否被占用

        当我们要创建一个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();
}

 

 

 

 

 

 

 

 

           

时间: 2024-09-24 16:16:44

检测端口是否被占用的相关文章

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

这篇文章主要介绍了c#检测端口是否被占用的简单实例,有需要的朋友可以参考一下 当我们要创建一个Tcp/Ip Server connection ,我们需要一个范围在1000到65535之间的端口 .   但是本机一个端口只能一个程序监听,所以我们进行本地监听的时候需要检测端口是否被占用.   命名空间System.Net.NetworkInformation下定义了一个名为IPGlobalProperties的类,我们使用这个类可以获取所有的监听连接,然后判断端口是否被占用,代码如下:    代

Node.js检测端口(port)是否被占用的简单示例_node.js

前言 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等.二是逻辑意义上的端口,一般是指TCP/IP协议中的 端口,端口号的范围从0到65535,比如用于浏览网页服务.这篇文章的目的是为了解决ssr工具起多个服务的时候端口被占用的情况,下面跟大家分享研究的代码片段,有需要的可以参考借鉴. 示例代码 // 检测port是否被占用 function probe(port, c

ajax 检测用户名是否被占用

ajax //检测用户名是否被占用function GetO(){    var ajax=false;     try {      ajax = new ActiveXObject("Msxml2.XMLHTTP");     } catch (e) {       try {       ajax = new ActiveXObject("Microsoft.XMLHTTP");      } catch (E) {       ajax = false;  

怎么用命令查看端口是否被占用

  如果在使用电脑过程中遇到系统提示"服务器无法开启,80端口被占用"故障,肯定会想要查看什么程序占用80端口.现在给大家分享通过命令进行查看电脑端口是否被占用的方法. 1.点击桌面左下方"windows"图标,选择"运行",如下图所示: 2.于运行窗口输入"cmd",按下回车键执行,如下图所示: 3.在打开的命令窗口输入"netstat -ano"命令,然后按下回车键确认,如下图所示: 4.将会在命令窗口

java com-java 判断com端口是否被占用

问题描述 java 判断com端口是否被占用 CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(""COM1""); 怎么判断这个COM1是否被占用 解决方案 通过新建一个ServerSocket来判断端口是否被占用

windows和linux中检查端口是否被占用

一.windows 1.查询端口占用情况 cmd > netstat -ano 2.查询8080端口是否被占用 cmd > netstat -ano|findstr 8080 3.查询哪个程序占用了端口 cmd > tasklist|findstr PID 进程号通过2查询可以得到 4.终止该占用进程 cmd > ntsd -c q -p PID 二.Linux 1.查询8080端口是否被占用,并可以查看pid/程序名 netstat -apn | grep 8080Q 2.查看详

Windows 7显示80端口被system占用怎么办?

作为一名Windows7系统用户,如果在启动Apache的过程中碰到老是失败,那可以在CMD窗口中使用netstat -ano指令来查询,查询发现80端口被system占用,对于80端口被占用这个问题,我们该如何去解决呢?别着急,下面就给大家介绍详细的解决方法.  按照上图中的PID显示,在任务管理器中查看PID的进程名;  既然是system,那么应该不回是真正的系统,而是微软的其他系列产品的进程在运行. (注意:我已经在服务services.msc中结束了IIS ADmin服务) 但其实II

ajax 检测用户名是否被占用_AJAX相关

复制代码 代码如下: //检测用户名是否被占用 function GetO(){ var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof X

linux解决端口号被占用

Linux下我们经常需要解决端口占用的问题,解决方法如下: linux: 1 某个端口号被占用,查看pid##根据端口查看进程信息 lsof -i:14700 ##根据进程号查看进程对应的可执行程序 ps -f -p 进程号 还可用netstatnetstat 的常用参数: - t.- u.- w和- x分别表示TCP.UDP.RAW和UNIX套接字连接.-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字.-l 显示正在被监听(listen)的端口, -n表示直接显示端口数字而不是通过