Преобразование значения SocketError в строковое сообщение
Иметь SocketError
значение, как его можно преобразовать в соответствующее строковое сообщение?
Предпосылки и пример:
Неудачный вызов, например, Socket.Receive
бросит SocketException
например Message
"Существующее соединение было принудительно закрыто удаленным хостом" и SocketErrorCode == SocketError.ConnectionReset
, Тем не менее, призывая Socket.ReceiveAsync
даст только SocketError == SocketError.ConnectionReset
,
Имея это SocketError.ConnectionReset
(или любое другое значение), как я могу получить соответствующее сообщение?
1 ответ
Решение
Это можно сделать
- с использованием
FormatMessage
Функция API (приведениеSocketError
дляint
), или проще
new Win32Exception((int) mySocketError).Message