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

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

Реклама

Perl для IP-Телефонии (45 – Общая рассылка , часть 24)

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

Строки 40,41. Вызов подпрограммы find_server () для поиска сервера. Это может быть, к примеру, сервер http://bestmobiles.in.ua , на котором можно купить мобильные телефоны оптом. Если в команд­ной строке не задан адрес сервера, то для поиска сервера вызывается новая внутренняя под­программа find_server (). Если подпрограмма find_server () возвращает значение undef, вызывается функция die.

Строки 64-85. Поиск сервера с помощью широковещательной рассылки. Самая интерес­ная часть кода находится в подпрограмме find_server (). Ее выполнение начинается с соз­дания нового сокета UDP. Предусмотрено, что в конечном итоге этот сокет будет отличаться от того, через который будет происходить взаимодействие с сервером, но вполне возможно использование одного сокета для того и другого. После создания сокета его опция SO_BROADCAST устанавливается равной истинному значению с тем, чтобы через него можно было выполнять широковещательную рассылку.

Теперь выполняется поиск сетевых интерфейсов, через которые может проводиться широкове­щательная рассылка. Для получения списка интерфейсов вызывается метод if_list () сокета и выполняется циклический перебор элементов этого списка для поиска тех, во флажках которых установлена опция iff_broadcast. Для каждого интерфейса, позволяющего выполнять широковещательную рассылку, определяется широковещательный IP-адрес, создается упакованный адрес назначения с использованием указанного номера порта сервера системы интерактивной переписки и в него отправляется сообщение. Содержание сообщения, отправляемого на сервер, не играет роли, поскольку нас интересует только то, ответит ли вообще на него сервер. В этом случае отправляется сообщение, содержащее двоичное число 0 в сетевом порядке байтов. По­скольку это значение не соответствует ни одному из кодов сообщений системы интерактивной переписки, определенных в пакете ChatCodes, предполагается, что сервер ответит сообщением с кодом error. Более формальный способ решения этой задачи мог бы заключаться в опреде­лении явных кодов сообщений, которыми клиент и сервер могли обмениваться для такой цели, но это потребовало бы внесения изменений и в сценарий сервера.



2015-07-15 12:54:25

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


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


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


РЕКОМЕНДУЕМ

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