Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Перевести коды ошибок Winsock'a в текстовый вид

01.01.2007
Вот функция, аналогичная SysErrorMessage, принемает на вход код ошибки socket'a , возвращает строковое сообщение об ошибке..

 

function WSAErrorMessage(ErrorCode: Integer): string;
var
  Buffer: array[0..255] of Char;
var
  Len: Integer;
begin
  Len := FormatMessage(FORMAT_MESSAGE_FROM_HMODULE or FORMAT_MESSAGE_IGNORE_INSERTS or
    FORMAT_MESSAGE_ARGUMENT_ARRAY, Pointer(GetModuleHandle('wsock32.dll')),
    ErrorCode, 0, Buffer,
    SizeOf(Buffer), nil);
  while (Len > 0) and (Buffer[Len - 1] in [#0..#32, '.']) do Dec(Len);
  SetString(Result, Buffer, Len);
end;
 

Автор: jack128

Взято из https://forum.sources.ru


 

Некоторые коды сразу на русском:

 
10004 Выполнение операции с сокетом, блокирующей выполнение программы, прервано вызовом специальной функции.
10013 Нет разрешения на доступ к сокету.
10014 Неверный адрес указателя при вызове функции.
10022 Неправильный аргумент при вызове функции для работы с сокетами.
10024 Слишком много открытых сокетов на нить, процесс или глобальных.
10035 Ресурс временно недоступен, при выполнении функции работы с сокетом, которая не может выполнить операцию немедленно.
10036 Одна блокирующая операция сейчас уже выполняется.
10037 Одна операция с неблокирующим сокетом уже выполняется.
10038 Попытка вызвать функцию, работающую с сокетами, при передаче ей в аргументе значения, которое не является правильным значением сокета. Обычно возникает, при попытке работы с уже закрытым сокетом.
10039 Требуется адрес назначения
10040 Сообщение слишком длинное при передаче дейтаграммы.
10041 Тип протокол не поддерживается для данного сокета.
10042 Неправильная опция или уровень заданы в функциях опций сокетов
10043 Запрошенный протокол не сконфигурирован для работы с системе
10044 Тип сокета не поддерживается
10045 Операция с сокетом не поддерживается
10046 Семейство протоколов не поддерживается
10047 Адрес не поддерживается на выбранном протоколе сокета
10048 Адрес+порт уже используется на этом хосте. Очень распространённая ошибка, когда две программы-серверы пытаются использовать один и тот же порт для приема запросов клиентов.
10049 Невозможно использовать запрошенный адрес для привязки в порту
10050 Сеть неработоспособна
10051 Сеть недоступна, аппаратура не знает как туда переслать пакет, возможно из-за ненастроенной маршрутизации.
10052 Соединение разорвано из-за сбоя при выполнении операции
10053 Программное обеспечение компьютера, на котором выполняется данная программа, разорвало соединение.
10054 Соединение разорвано с удаленного компьютера, возможно, что так оно и задумано было, и клиент завершил всю передачу информации по сокету.
10055 Не места в буфере или очереди.
10056 Сокет уже подсоединен.
10057 Сокет не подсоединенный
10058 Невозможно послать или получить данные по сокету, из-за того, что эта операция уже запрещена функцией shutdown
10060 Timeout
10061 Удаленный компьютер отказал в соединении, возможно не нём не запущен соответствующая программа сервер.
10064 Компьютер, с которым производится попытка соединения выключен.
10065 К удаленному компьютеру не найдет маршрут пересылки пакетов.
10067 Запущено слишком много процессов, использующих Windows Socket
10091 Сетевая подсистема недоступна.
10092 Неверная версия winsock.dll
10093 Не выполнена функция WSAStartup перед использованием любой другой фукнции работы с сокетами.
10109 Запрошенный тип класса не найден.
10101 Удаленный компьютер инициировал завершение соединения
11001 Запрошенное имя компьютера не найдено
11002 Временная ошибка при разрешении имени компьютера в адрес, возможно её не будет при повторе операции через некоторое время.
11003 Невосстанавливаемая ошибка при разрешении имени в адрес.

11004 С запрошенным именем компьютера не связано никакой правильной информации об адресе, хотя само имя присутствует в соответствующих базах данных имён.

 

Автор: Miscђka

Взято из https://forum.sources.ru