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

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

Реклама

Perl для IP-Телефонии (41 – Срочные данные TCP, часть 7)

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

Опция SO_OOBINLINE

По умолчанию выборка срочных данных TGP может осуществляться только путем вызова функции recv () с флажком MSG_OOB. В этом случае сама операционная сис­тема извлекает и сохраняет входящие срочные данные так, чтобы они не смешивались с обычным потоком данных, к примеру, с обзором планшета Билайн Таб .

Для того чтобы срочные данные оставались встроенными и появились среди обыч­ных данных, можно применить опцию SO_OOBLINE, Эта опция может быть установлена С помощью метода sосkopt () модуля IO::Socket или с использованием встроенной функции setsockopt (). Сокеты, в которых установлена эта опция, возвращают сроч­ные данные, встроенные в общий поток данных. Сигнал URG отправляется по-прежнему, но вызов функции recv () с флажком MSG_OOВ больше не может применять гм для выборки срочных данных и даже приводит к активизации ошибки EINVAL.

Опция SO_OOBLINE действует только на той стороне соединения, на которой она была вызвана; она не влияет на способ обработки срочных данных, применяемый на противоположной стороне соединения. К тому же, она влияет только на способ обработки входящих срочных данных, а не на способ их отправки.

Для демонстрации того, как изменяется программа сервера при использовании встроенных срочных данных, добавим соответствующий вызов метода sockopt() после вызова функции accept ().

$sock.= $listen->accept;

$sock->sockopt(SO_OOBINLINE,1);          # Разрешить использовать встроенные срочные данные

Как и прежде, при получении каждого байта срочных данных вызывается обработчик URG сервера. Однако поскольку эти данные теперь являются встроенными, вызов функции recv () оканчивается аварийно с ошибкой EINVAL. Срочные данные  (символ восклицательного знака) не обрабатываются отдельно, а появляются в выборке данных, считанном функцией sysread ().



2015-01-26 11:58:49

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


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


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


РЕКОМЕНДУЕМ

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