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

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

Реклама

Perl для IP-Телефонии (36 – Неблокирующий ввод-вывод, часть 50)

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

Если метод connected () возвратил ложное значение, то, вероятно, следует определить, по каким причинам попытка подключения завершилась неудачей. Однако нельзя просто проверить содержимое переменной $! , поскольку она может содержать сообщение об ошибке, связанное с последним по времени системным вызовом, а не сообщение об ошибке, активизация которой отложена. Для получения необходимой информации вызывается метод sосkopt () сокета с параметром SO_ERROR, который позволяет определить ошибку сокета с отложенной активизацией. Этот метод возвращает стандартный числовой код ошибки, который присваивается переменной $!. Теперь, после вызова функции die с сообщением об ошибке магическое поведение переменной гарантирует, что этот код ошибки будет отображен в виде сообщения, предназначенного для восприятия человеком, при его использовании в строковом контексте.

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

$sock->blocking(1);

Выполнить операцию ввода-вывода в сокете и т.д. В листинге этот фрагмент кода показан полностью в форме подпрограмм connect_with_timeout (). Вызов этой подпрограммы может быть выполнен примерно так:

my $socket = connect_with_timeout($host,$port, $timeout);

При изучении исходного кода модуля IO::Socket можно обнаружить, что для реализации опции Timeout применяется во многом аналогичный способ.



2014-10-02 01:53:13

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


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


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


РЕКОМЕНДУЕМ

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