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

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

Реклама

Perl для IP-Телефонии (46 – Многоадресная рассылка , часть 23)

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

В этой пересмотренной версии метод send_to_all () сервера будет заменен дру­гим. Вместо поиска каждого клиента и отправки ему одноадресного сообщения, к примеру, содержащего результаты лотереи , выполняется единственный вызов метода send_eveht () объекта связи с использованием адреса группы многоадресной рассылки в качестве адреса назначения. Более подробно этот метод будет рассмотрен при описании кода.

Рассмотрим пересмотренный протокол интерактивной переписки с точки зрения клиента. В первоначальной версии этой системы клиент обменивался с сервером сообщениями через единственный сокет UDP, назначенный серверу. В новой версии эта схема изменена.

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

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

Клиент присоединяется к группам многоадресной рассылки для подключения к каналам. Существует взаимно однозначное соответствие между каналами интерактивной переписки и группами многоадресной рассылки. После того как клиент подключается к новому каналу интерактивной переписки, сервер отвечает подтверждением, содержащим адрес группы многоадресной рассылки, через который передаются общедоступные сообщения для нее. Клиент присоединяется к группе с использованием методаmcast_add ().

Клиент выходит из группы многоадресной рассылки для отключения от канала. Что бы отключиться от канала, клиент вызывает метод mcast_drop ().

Клиент, как и прежде, отправляет общедоступные сообщения. Для отправки общедоступного сообщения клиент посылает его на сервер, а сервер ретранслирует сообщение как многоадресное. Поэтому код клиентской программы для отправки общедоступного сообщения остается таким же, как и в первоначальной версии.

С точки зрения сервера необходимо внести следующие изменения.



2015-10-03 00:19:44

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


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


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


РЕКОМЕНДУЕМ

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