Шрифт:
Эта функция (как и другие наши функции, предоставляющие более простой интерфейс для функции
Тем не менее мы по-прежнему вызываем функцию-обертку вместо функции
Проблема с возвращаемым значением заключается в том, что дескрипторы неотрицательные, но мы не знаем, положительны или отрицательны значения EAI_xxx. Если бы эти значения были положительными, мы могли бы возвратить равные им по абсолютной величине отрицательные значения, когда вызов функции getaddrinfo окажется неудачным. Но мы также должны возвратить некое другое отрицательное значение, чтобы указать, что все структуры были перепробованы безуспешно.
Пример: клиент времени и даты
В листинге 11.5 показан наш клиент времени и даты из листинга 1.1, переписанный с использованием функции
Листинг 11.5. Клиент времени и даты, переписанный с использованием функции tcp_connect