c#檢測端口是否被占用的簡單實例
當(dāng)我們要創(chuàng)建一個Tcp/Ip Server connection ,我們需要一個范圍在1000到65535之間的端口 。
但是本機一個端口只能一個程序監(jiān)聽,所以我們進行本地監(jiān)聽的時候需要檢測端口是否被占用。
命名空間System.Net.NetworkInformation下定義了一個名為IPGlobalProperties的類,我們使用這個類可以獲取所有的監(jiān)聽連接,然后判斷端口是否被占用,代碼如下:
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端口啟動一個監(jiān)聽,然后測試是否可以被檢測出來,代碼如下:
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();
}
- c# 防火墻添加/刪除 特定端口的示例
- C#檢測遠程計算機端口是否打開的方法
- C#端口轉(zhuǎn)發(fā)用法詳解
- 基于C#實現(xiàn)的端口掃描器實例代碼
- C#獲取Windows進程監(jiān)聽的TCP/UDP端口實例
- C#開發(fā)之Socket網(wǎng)絡(luò)編程TCP/IP層次模型、端口及報文等探討
- asp.net(c#)動態(tài)修改webservice的地址和端口(動態(tài)修改配置文件)
- c# 連接字符串?dāng)?shù)據(jù)庫服務(wù)器端口號 .net狀態(tài)服務(wù)器端口號
- c# AcceptEx與完成端口(IOCP)結(jié)合的示例
相關(guān)文章
C#/VB.NET 在PDF中添加文件包(Portfolio)的方法
這篇文章主要介紹了C#/VB.NET 在PDF中添加文件包(Portfolio)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-06-06關(guān)于C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.
本篇文章,小編為大家介紹關(guān)于C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.NET4中的使用介紹方法,有需要的朋友可以參考一下2013-04-04C#使用SqlConnection連接到SQL Server的代碼示例
這篇文章主要介紹了C#使用SqlConnection連接到SQL Server的代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03C#發(fā)送HttpPost請求來調(diào)用WebService的方法
在C#中發(fā)送HttpPost請求來調(diào)用WebService中的MyAction方法,代碼如下:需要的朋友可以參考一下2013-03-03