c# - 将 SocketError 值转换为字符串消息

标签 c# .net sockets

有一个SocketError值,如何将其转换为相应的字符串消息?

背景和示例:

对例如的调用失败Socket.Receive 将抛出 SocketException,例如消息“现有连接被远程主机强制关闭”和SocketErrorCode == SocketError.ConnectionReset。但是,调用 Socket.ReceiveAsync 只会给出 SocketError == SocketError.ConnectionReset。

有了这个SocketError.ConnectionReset(或任何其他值),我如何获取相应的消息?

最佳答案

可以做到

  • 使用 FormatMessage API 函数(将 SocketError 转换为 int),
  • 或更简单,通过

    new Win32Exception((int) mySocketError).Message
    

关于c# - 将 SocketError 值转换为字符串消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25783579/

相关文章:

c# - DocumentDb - 获取文档的 Json 表示

c# - 为什么我的应用程序在出现未处理的异常后不会停止?

c# - 具有多个客户端的异步套接字服务器

python - 在 python 中制作 UDP 套接字时使用什么主机?

c# - .net 缓存敏感数据是否会以安全方式存在危险或存在任何安全问题?

python - Python线程将无法开始使用套接字

c# - 在此上下文中仅支持原始类型或枚举类型

c# - 将基类的属性传递给派生类的更好方法?

c# - 使用 C# 在 Powerpoint 2013 中创建具有多个系列的图表

c# - Entity Framework 自跟踪实体和 ASP MVC .NET 和托管扩展框架的问题