Строки 14, 15. Средства доступа mcast_addr () и comm(). Определены два средства доступа, mcast_addr () и comm ( ), соответственно, для выборки адреса группы многоадресной рассылки данного канала, темой которой может быть, например, - разработка сайтов москва и объекта связи ChatObjects::MComm.
Строки 16-20. Метод info () - Перекрывается метод info () канала, который предусматривает отправку клиенту описательной информации о канале. Раньше этот метод возвращал имя канала, число зарегистрированных в нем пользователей и его описание. Здесь внесены не большие изменения после информации о числе пользователей и после описания IP-адреса канала для многоадресной рассылки в виде четырех чисел, разделенных точками.
Строки 21-26. Метод mcast_dest (). Этот метод возвращает упакованный двоичный адрес назначения для группы многоадресной рассылки. В нем выполняется выборка номера порта многоадресной рассылки из объекта сервера и применяется функция sockaddr_in () для объединения этого номера с адресом в виде четырех чисел, разделенных точками, возвращенным методом mcast_addr (). Функция sockaddr_in () явно помещена в скалярный контекст, для того чтобы она упаковывала в одну структуру номер порта и IP-адрес, а не пыталась распаковать свои параметры.
Строки 27-33. Метод send_to_all (). Данный метод вызывается каждый раз, когда возникает необходимость отправить сообщение всем участникам дискуссии в канале. Такие сообщения отправляются при подключении пользователя к каналу или отключении от него, а также при отправке пользователем в канал общедоступного сообщения. Вызывается метод mcast_dest() для получения упакованного двоичного адреса, который применяется для отправки многоадресных сообщений в канал, а затем этот адрес назначения, наряду с кодом события и текстом сообщения о событии, передается методу send_event () объекта связи ChatObjects::MCornm.
Обратите внимание, что метод send_event () не определен в самом классе ChatObjects::MComm. Он унаследован от родительского класса и применяется как для отправки одноадресных сообщений отдельным клиентам, так и для отправки многоадресных сообщений всем абонентам канала.