如何获取套接字异常值

Ela*_*ahe 3 c# socketexception

我使用了一个用于创建套接字连接的组件。现在,我有一个客户端和服务器,可以通过该组件相互连接。但我的问题是:当发生某些错误时,我得到了如下消息:

System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it
Run Code Online (Sandbox Code Playgroud)

我想知道此代码(0x80004005)与MSDN WebSite中的 Winsock错误代码之间是否有任何关系 ?此代码是什么意思?它显示值错误代码吗?或类似的东西?

实际上我想获得相关的值,10061但我不知道如何通过字符串值来获得它。感谢您的帮助。

bob*_*lex 5

异常对象的ErrorCode属性包含套接字错误代码。错误代码列表在此处定义。

您遇到的错误是WSAECONNREFUSED 10061

顺便说一句,您必须捕获SocketException而不是常规的Exception才能获取错误代码。

try
{
}
catch (System.Net.Sockets.SocketException sockEx)
{
int errorCode = sockEx.ErrorCode;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果要获取本机错误代码,则可以sockEx.NativeErrorCode改用。