Однако она может оказаться троянским конем, запущенным привилегированным пользователем.
131
Значения для неустановленных IPv4-адресов содержатся в константе INADDR_ANY
, которая является 32-битным числом.
132
Эти примеры взяты из документа RFC 1884, в котором определена структура адресации IPv6.
133
Это так называемый неустановленный адрес для IPv6.
134
Если у вас большой опыт в программировании сокетов (или вы сравниваете данную книгу с ее первым изданием), то вы обязательно заметите, что функции, применявшиеся для преобразования имен, значительно изменились. Эти изменения позволяют создавать программы абсолютно независимо от того протокола, который они используют. Теперь гораздо легче разрабатывать программы, работающие как на IPv4-, так и на IPv6-машинах. Они также должны распространяться на остальные протоколы, хотя функция getaddrinfo()
в данный момент работает только для IPv4 и IPv6.
135
Адрес обратной связи — это специальный адрес, который позволяет программам взаимодействовать через TCP/IP с приложениями только на одной и той же машине.
136
Для TCP-портов данная комбинация не может использоваться в течение двух минут.
137
Это называется трехсторонним квитированием TCP, которое на самом деле проходит несколько сложнее, чем описано выше.
138
Этот процесс называется сетевой загрузкой.
139
UDP-сокеты, которые имеют постоянные пункты назначения, присвоенные через функцию connect()
, иногда называются присоединенными UDP-сокетами.
140
Есть также возможность превратить подключенный сокет в неподключенный с помощью функции connect()
, однако эта процедура не стандартизирована. Если вам все же необходимо ее применить, обратитесь к [33].
141
Данные функции могут применяться для передачи данных через любой сокет, и иногда возникают причины для использования их в TCP-соединениях.
142
Возможно также применение системных вызовов sendmsg()
и recvmsg()
, однако необходимость в этом встречается редко.
143
Полное описание tftp можно найти в [33] и [34].
144
Спецификация tftp-протокола требует, чтобы серверы посылали данные клиенту на номер порта, отличающийся от порта, на котором сервер ожидает новые соединения. При этом нетрудно создать