Модуль 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