При условии, что дейтаграмма будет доставлена, целостность ее содержимого гарантируется контрольной суммой, которая в соответствии с протоколом TCP/IP помещается в каждый пакет (если в приложении не была специально отменена опция применения контрольной суммы UDP).
Применение модуля IO::Socket для работы с сокетами UDP
Вполне естественно, что в модуле IO::Socket предусмотрена поддержка сокета UDP. Для создания сокета, применяемого для отправки исходящих сообщений, нужно вызвать метод IO::Socket::INET->new () лишь с параметром Proto, установленным равным “udp”.
my $sock = IO::Socket::INET->new (Proto => “udp”) or die $@;
Для создания сокета, привязанного к стандартному локальному порту или адресу интерфейса, необходимо указать один из параметров LocalAddr или LocalPort либо оба
my $sock,= IO::Socket::INET->new(Proto => “udp”,
LocalAddr => 12000,
LocalPort => “localhost”
) or die $@;
Можно также вызвать функцию connect () с этим сокетом и установить применяемый по умолчанию в функции send() адрес назначения, указав в вызове метод, new () параметр PeerAddr и необязательный параметр PeerPort.
my $sock = IO::Socket::INET->new(Proto =>'udp',
PeerAddr=>'Wuarchive.wustl.edu:daytime (17)'
) or die $0;
В модуле IO::Socket реализованы также методы send() и recv (). Они являются оболочками одноименных встроенных функций с некоторыми усовершенствованиями. Одним из этих усовершенствований является то, что параметр $flags и в методе send ( ), и recv() стал необязательным. В соответствующих встроенных функциях он является обязательным. Кроме того, в вызовах метода recv () запоминается адрес источника последней (по времени) полученной дейтаграммы. Значение этого адреса можно выбрать с использованием метода peername (), peeraddr (), peerport ( ) и peerhost ().
Метод recv () удаляет следующую доступную дейтаграмму UDP из приемной очереди и сохраняет ее, вплоть до длины $length байтов, в переменной $data. В случае успешного выполнения этот метод возвращает упакованный адрес отправителя дейтаграммы.
2015-03-09 15:21:25
это интересно В современном техногенном обществе все совершение становятся мобильные новинки от различных производителей. Что такое смартфон и какие из компаний предпочтительнее по тем или иным параметрам можно узнать на сайте setphone.ru. Там же представлена исчерпывающая информация по всем моделям смартфонов.