C#检测网络端口是否被占用的参考代码
2024-09-04
18
当我们要创建一个TCP/IP的服务时,我们需要一个1000到65535范围的端口,但本机一个端口只能有一个程序监听,所以我们进行本地监听的时候需要检测端口是否被占用。
在C#的命名空间System.Net.NetworkInformation中的IPGlobalProperties类,使用这个类可以获取所有的监听的连接,然后判断端口是否被占用,参考代码如下:
public static bool IsPortInUse(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;
}
我们使用HttpListener类在8080端口启动一个监听,然后测试是否可以被检测出来,参考代码如下:
static void Main(string[] args)
{
HttpListener httpListner = new HttpListener();
httpListner.Prefixes.Add(http://*:8080/);
httpListner.Start();
Console.WriteLine(Port: 8080 status: + (IsPortInUse(8080) ? in use : not in use));
Console.ReadKey();
httpListner.Close();
}
更新于:13天前赞一波!
相关文章
- 春节代码 新年快乐html 灯笼js
- 圣诞树代码 下雪
- 表白代码,爱心树html
- git pull 从远程获取代码并合并本地的版本
- 使用C#的Socket实现最简单的TCP通信示例代码
- vscode中自动将json格式的内容自动生成对应的代码
- 代码写得好 在哪里都能蹦迪
- vscode打开代码中文显示乱码的问题
- HTML-CSS-JS Prettify 代码格式化插件
- 有没有一个在线工具可以将Python代码转换为Java代码?
- 为什么C代码比Python代码运行得更快?
- 你如何在 Python 中编写自动售货机代码?
- 代码中的解耦思维
- 在C#中通过Windows API读写INI文件的简单实现代码
- Windows中如何通过网络远程运行另外一台Windows的界面程序
- C#中通过代码获取当前系统主板BIOS中序列号等信息的方法
- Python代码转换成C++
- Python连接网络的方法及应用
- Java高级面试题解析及代码示例
- Linux中libusb读写CDC类型USB设备的代码及解析
文章评论
全部评论