我试图在下面的C#代码的帮助下找到端口可用性,我得到异常“错误代码10061:连接被拒绝”需要一些帮助来解决这个问题。 打开的端口也显示为关闭,所以我面对这个问题
class Program
{
private string _HostURI;
private static bool m_blnIsWinAuth = false;
static void Main(string[] args)
{
Hostname tcp;
bool udp = false;
Program pr = new Program();
tcp = pr.GetPortAvability("127.0.0.1", 80, true);
Console.WriteLine(tcp);
Console.ReadLine();
}
public Hostname GetPortAvability(string _HostURI, int _PortNumber, bool isTCP)
{
Hostname returnValue = new Hostname();
returnValue.HostName = _HostURI;
returnValue.Result = false;
IPAddress ipa = (IPAddress)Dns.GetHostAddresses(_HostURI)[0];
try
{
Socket sock;
if (isTCP)
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
else
sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sock.Connect(ipa, _PortNumber);
if (sock.Connected)
returnValue.Result = true;
else
returnValue.Result = false;
sock.Close();
}
catch (SocketException se)
{
if (se.ErrorCode == 10061)
returnValue.Result = true;
else
returnValue.Result = false;
}
catch (Exception e)
{
returnValue.Result = false;
}
return returnValue;
}
}
答案 0 :(得分:0)
错误10061是服务器拒绝连接 这对我来说很有意义,因为您正在尝试连接到具有给定IP地址和端口号的套接字。但没有其他套接字等待连接 你需要找到一种不同的方式。寻找'端点'。