在C#中,如何檢查TCP端口是否可用?在C#中使用TcpClient或通常連接到套接字我怎樣才能首先檢查我的機器上某個端口是否空閑?更多信息: 這是我使用的代碼:TcpClient c;//I want to check here if port is free.c = new TcpClient(ip, port);
3 回答

不負相思意
TA貢獻1777條經(jīng)驗 獲得超10個贊
由于您正在使用a TcpClient
,這意味著您正在檢查打開的TCP端口。System.Net.NetworkInformation命名空間中有許多可用的好對象。
使用該IPGlobalProperties
對象獲取對象數(shù)組,TcpConnectionInformation
然后可以查詢端點IP和端口。
int port = 456; //<--- This is your value bool isAvailable = true; // Evaluate current system tcp connections. This is the same information provided // by the netstat command line application, just in .Net strongly-typed object // form. We will look through the list, and if our port we would like to use // in our TcpClient is occupied, we will set isAvailable to false. IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties(); TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections(); foreach (TcpConnectionInformation tcpi in tcpConnInfoArray) { if (tcpi.LocalEndPoint.Port==port) { isAvailable = false; break; } } // At this point, if isAvailable is true, we can proceed accordingly.
- 3 回答
- 0 關注
- 1068 瀏覽
添加回答
舉報
0/150
提交
取消