c# - 如何获取套接字异常值

标签 c# socketexception

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

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

我想知道这段代码(0x80004005)和Winsock错误代码之间有什么关系 MSDN WebSite ?这个代码是什么意思?它是否显示值错误代码?!还是类似的东西?

其实我想得到像10061这样的相关值,但我不知道如何通过上面的字符串值得到它。感谢您的帮助。

最佳答案

异常对象的 ErrorCode 属性包含套接字错误代码。错误代码列表定义为here .

你的错误是WSAECONNREFUSED 10061

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

try
{
}
catch (System.Net.Sockets.SocketException sockEx)
{
int errorCode = sockEx.ErrorCode;
}

但是,如果您想获取 native 错误代码,则可以改用 sockEx.NativeErrorCode

关于c# - 如何获取套接字异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24902143/

相关文章:

c# - 如何首先在代码中获取具有外键关系的子实体中的父实体属性?

c# - 由于目标机器主动拒绝,无法建立连接?

java - 通过 CXF 连接到 https Url 时出现 SocketTimedOut

java.net.SocketException : Broken pipe with Quartz and MySQL and Tomcat (Tomcat Crash) 异常

java - SSH 命令执行失败并出现异常 - "net.schmizz.sshj.connection.ConnectionException: Connection reset Exception is thrown"

C# OleDB SQL 插入命令

c# - 用于 .Net C# 应用程序的 SharpZipLib 替代品

c# - 如何将 Visual Studio 2019 中的 .NET 版本更改为 .NET Framework 4.7.2?

c# - 在脚本中发布构建事件#

android - okhttp 中的 java.net.SocketTimeoutException