Модуль socket был написан для обеспечения удобного интерфейса к сокетам BSD.
Были приняты необходимые меры для того, чтобы эти функции работали одинаково хорошо в
реализации как для Win32, так и Unix. Почти все функции, при определённых условиях,
могут завершиться с ошибкой и вызовут ошибку уровня
E_WARNING
. Иногда, разработчики препятствуют этому.
Например, функция socket_read() может внезапно вызвать
ошибку уровня E_WARNING
, потому что соединение неожиданно оборвалось.
Обычная практика подавлять предупреждение при помощи оператора
@
и перехватывать код ошибки в приложении при помощи функции
socket_last_error(). Вы можете вызывать функцию
socket_strerror() с кодом ошибки для получения строки, описывающей
ошибку. Смотрите описание этих функций для более подробной информации.
Замечание:
Сообщения
E_WARNING
, вызываемые модулем socket, будут на английском языке, а полученное сообщение об ошибке будет появляться в зависимости от настроек текущей локали (LC_MESSAGES
):Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet