Модуль IO::Socket:Multicast — потомок модуля IO::Socket::INET. В нем реализованы все методы родительского объекта и добавлено несколько новых, относящихся к выполнению многоадресной рассылки. В качестве примера, можно рассмотреть общую рассылку с информацией об IP АТС от Grandstream . Для удобства этот модуль по умолчанию предусматривает применение для новых объектов сокета протокола UDP, а не TCP.
$socket->mcast_ttl([$ttl])
Этот метод позволяет получить или установить “время жизни” многоадресных пакетов сокета. При указании целочисленного параметра он применяется для установки TTL и возвращает истинное значение, если попытка оказалась успешной. При использовании без параметра метод mcast_ttl () возвращает текущее значение TTL.
$socket->mcast loopback <[$boolean])
Данный метод позволяет получить или установить свойства возврата исходящих многоадресных пакетов на локальный хост. Чтобы разрешить возврат пакетов на локальный хост, в качестве параметра должно быть указано истинное значение, в ином случае — ложное. Этот метод при успешном выполнении возвращает истинное значение. При вызове без параметра— текущую установку возврата пакетов.
$socket->mcast. if ([$if])
Этот метод позволяет получить или установить интерфейс для исходящих многоадресных пакетов Для удобства можно использовать либо имя логического устройства интерфейса, такое место, либо адрес интерфейса в виде четырех чисел, разделенных точками. Если попытка установить интерфейс была успешной, метод возвращает истинное значение. При вызове без параметров возвращает текущий интерфейс, а если интерфейс не установлен—значение undef (в этом случае операционная система выбирает подходящий интерфейс автоматически).
Этот метод позволяет присоединиться к группе многоадресной рассылки, после чего в сокет начинают поступать сообщения, отправленные в эту группу с помощью многоадресной рассылки.
Адрес группы должен быть указан в виде четырех чисел, разделенных точками (например 225.0.0.3). Необязательный второй параметр позволяет сообщить операционной системе, какой сетевой интерфейс должен применяться для получения сообщений группы.