Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (42 – Протокол UDP , часть 13)

предыдущая часть ««»» следующая часть

При условии, что дейтаграмма будет доставлена, целостность ее содержимого гарантируется контрольной суммой, которая в соответствии с протоколом 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 ().

$peer_addr = $socket->recv($data,$length,[$flags]);

Метод recv () удаляет следующую доступную дейтаграмму UDP из приемной очереди и сохра­няет ее, вплоть до длины $length байтов, в переменной $data. В случае успешного выполнения этот метод возвращает упакованный адрес отправителя дейтаграммы.

2015-03-09 15:21:25

это интересно
В современном техногенном обществе все совершение становятся мобильные новинки от различных производителей. Что такое смартфон и какие из компаний предпочтительнее по тем или иным параметрам можно узнать на сайте setphone.ru. Там же представлена исчерпывающая информация по всем моделям смартфонов.

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония