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

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

Реклама

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

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

В мире современных технологий сфера автоматизации с оптимальным использованием ресурсов активно развивается  и с каждым годом становится все более востребованной. Всякие разнообразные станки оказывают неоценимую помощь в различных сегментах производства. Это и обработка металла, намотка, художественная ковка и многое другое.


В следующем фрагменте кода осуществляется экспорт различных подпрограмм, определенных в модуле IO::interface, в пространство имен IO::Socket и выполняется их преобразование в мето­ды, которые могут использоваться с объектами IO::Socket. С помощью любой из функций, которые определены в глобальном массиве @functions, можно выполнять примерно такое присваивание:

*{"IO::Socket::if_addr") = &if_addr;

Приведенная здесь общая схема представляет собой малоизвестный способ создания в пространстве имен другого модуля псевдонима, соответствующего функции, которая определена в текущем модуле.   Эта схема описана, хотя и очень кратко, в справочных руководствах perl_sub и perl_ref и представляет собой основную операцию, выполняемую модулем Exporter. Такое действие необходимо выполнить для списка функций, поэтому применяется небольшой цикл, ко­торый создает псевдонимы пространства имен для каждой функции по очереди.

{

no strict 'refs';

*{"10: :Socket: :$_"} = &$__ foreach ©functions;

}

Оператор no strict 'refs' отключает на время средства проверки, которые запрещают подобные манипуляции пространством имен.

Строки 39-45. Получение адреса интерфейса. Наконец, мы готовы к реальной работе. Функ­ция if_addr () принимает сокет и имя интерфейса, а также возвращает IP-адрес интерфейса в виде строки из четырех чисел, разделенных точками. Выполнение этого кода начинается с создания упакованной структуры ifreq, содержащей имя затребованного интерфейса. Фор­мат ifreq_name предусматривает упаковку имени в первые ifnamsiz байт структуры и заполнение нулями ее остальной части.

2015-06-30 15:31:13

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


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


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


РЕКОМЕНДУЕМ

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