Расширение 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