Адрес отправителя указан для того, чтобы можно было отправить ему ответ.
Если полученная дейтаграмма превышает по длине значение $max_size, она усекается. Если возникают какие-либо ошибки, функция возвращает значение undef и устанавливает переменную $! равной соответствующему коду ошибки.
Те, кто знаком с API-интерфейсом сокетов языка C, должны знать, что функция recv () языка Perl фактически реализована на основе вызова recvfrom () языка C, а не самого вызова recv ().
Привязка сокета UDP
По умолчанию операционная система присваивает новому сокету UDP неиспользуемый временный номер порта и безразличный IP-адрес INADDR_ANY. В клиентской программе можно принять это значение по умолчанию поскольку при передаче клиентом запроса серверу, дейтаграмма UDP этого запроса содержит обратный адрес, который позволяет серверу вернуть ответ.
Однако в серверном приложении обычно требуется выполнить привязку соков к стандартному порту с тем, чтобы клиент мог к нему обратиться. Для этого должна быть вызвана функция bind () таким же образом, как и при работе с сокетом TCP. Например, для привязки сокета UDP к порту 8000 можно применить следующий фрагмент кода.
my $local_addr = sockaddr_in(8000,INADDR_ANY);
bind (SOCK, $local_addr) or die ”bind();
После того как выполнена привязка сокета UDP, многие системы не позволяют отменить эту операцию и привязать его к другому адресу.
2015-03-03 19:16:40
это интересно Мир увлекательных игр наряду с общим техническим прогрессом также не стоит на месте а все время совершенствуется. К примеру, можно скачать cs 1.6 для windows xp или для другой операционной системы и насладится совершенной динамикой и превосходной графикой. Counter-Strike одна из лучших популярных игр, которая не оставит равнодушным ни одного любителя провести свободное время в игре.