c# 判断端口是否被占用

这里主要用到:命名空间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

c# 判断端口是否被占用的相关文章

c# socket 判断端口是否被占用

using System.Net; using System.Net.Sockets; using System.Net.NetworkInformation; IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners(); foreach (var item in ipEnd

C#判断一个端口是不是被占用以及返回一个空闲端口

一.引言 在最近的工作当中,用到了 Socket 通信,然后要给 Socket 服务器端的监听获取一个空闲的本地监听端口. 对于这个获取方法要满足如下几点的要求: 这个端口不能是别的程序所使用的端口: 这个获取要支持异步,即多个线程同时获取不会出现返回多个相同的空闲端口(即线程安全): 这端口要有效的遍历一个区域内的端口,直到返回一个可用的空闲端口: 二.实现方法 网上的实现方法主要有两种: 1. 使用 .NET 提供的 IPGlobaProperties.GetIPGlobaPropertie

tomcat端口号被占用

Eclipse启动TomCat报错:Several ports (8080, 8009) required by Tomcat v8.0 are already in use. Eclipse启动Tomcat错误: Several ports (8080, 8009) required by Tomcat v8.0 Server at localhost are already in use. The server may already be running in another proces

Python—监测某一个端口是否被占用

#!/usr/bin/env python# -*- coding:utf-8 -*- import socket, time, threadsocket.setdefaulttimeout(3) #设置默认超时时间 def socket_port(ip, port):    """    输入IP和端口号,扫描判断端口是否占用    """    try:        if port >=65535:            print 

apache端口有时被占用,解决策略

apache端口有时被占用,解决策略如下: 方一: cmd-netstat ano 查找PID,然后kill 方二: apache服务开启不了,有时是因为iis服务启动的缘故,可直接 cmd--net stop iisadmin /y 另附iis启动关闭命令: 启动IIS: net start iisadmin    (IIS的整个服务) net start w3svc       (WWW网页WEB服务) 停止IIS: net stop iisadmin /y     (会自动停止www.ft

在Linux环境下使用SSH判断端口是否通

在Linux环境下使用SSH判断端口是否通 在windows/linux环境下,可以使用telnet判断端口状态,但有时候在Linux环境下没有telnet,所以可以使用ssh判断端口状态. 一.ssh使用方法: 命令:ssh -v -p port [email protected] 说明:-v  调试模式,会输入日志信息 -p  端口号 二.在server01上安装httpd 首先在Linux系统下安装httpd,启动80端口. yum install httpd systemctl star

端口被sysmtem占用

今天启动Apache的时候老是提示失败,很简单,使用 netstat -ano 发现80端口被占用.如图所示: 按照PID 来说:在任务管理器中查看PID 的进程名 既然是system.那么 应该不回是真正的系统. 而是 微软的其他系列产品的进程在运行. [注意:我已经在服务 services.msc中结束了 IIS ADmin 服务] 但是 其实 IIS 服务真正没有关闭. 80端口也被IIS 7.5占用: 于是打开 IIS 管理器. 在 IIS 根目录右击 --->停止 之后在回头来 继续在

80端口被system 占用解决方法

前几天,将tomcat的端口8080改为80后,服务器启动时总是报一大堆异常,原因是80端口被占用,但是我提前就将IIS服务关闭了,后来才知道IIS服务没有真正关闭,一下是解决方法: netstat -ano 发现80端口被占用.如图所示: 按照PID 来说:在任务管理器中查看PID 的进程名 既然是system.那么 应该不回是真正的系统. 而是 微软的其他系列产品的进程在运行. [注意:我已经在服务 services.msc中结束了 IIS ADmin 服务] 但是 其实 IIS 服务真正没

java web中 8080端口号被占用的问题处理,终于明白了 Address already in use: JVM_Bind(端口冲突)

1.错误描述 2011-7-20 11:05:18 org.apache.catalina.core.StandardServer await严重: StandardServer.await: create[8005]: Java.NET.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.Net.PlainSocketImpl.