将套接字错误值转换为字符串消息

本文关键字:字符串 消息 转换 套接字 错误 | 更新日期: 2023-09-27 18:21:32

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

背景和示例

失败

的调用,例如 Socket.Receive会抛出一个SocketException,例如 Message"远程主机强行关闭了现有连接",SocketErrorCode == SocketError.ConnectionReset 。但是,打电话给Socket.ReceiveAsync只会给一个SocketError == SocketError.ConnectionReset

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

将套接字错误值转换为字符串消息

可以做到

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

    new Win32Exception((int) mySocketError).Message