-------------------------------------------------------- Общие сведения: -------------------------------------------------------- В версии 4.00 beta 3 реализован механизм, позволяющий создавать программы-дополнения к клиенту CommFort. Данная функция работает только при сочетании клиента версии 4.00 beta 3 и зарегистрированного сервера версии 4.00 beta 3. Основан механизм на приеме и передаче UDP-пакетов. Для включения обработки и отправки пакетов в клиенте чата необходимо отредактировать в файле Config\UDPAddons.ini следующие строки: ------------- [UDPAddon_X] Enabled=1 IP=здесь указывается IP-адрес программы-надстройки Port=здесь указывается порт программы-надстройки ------------- Обратите внимание, CommFort client будет принимать и обрабатывать сообщения только с IP-адреса и порта, указанных в данном INI-файле. Узнать же адрес (в первую очередь порт), по которому необходимо отправлять UDP-пакеты к клиенту чата можно по первому пакету, генерируемому программой CommFort client при подключении к серверу. -------------------------------------------------------- Описание состава сообщений: -------------------------------------------------------- При разработке структуры сообщений приоритет был отдан простоте освоения и использования, потому что экономия трафика в данном случае не нужна. Для описания состава сообщений, отправляемых клиенту чата и принимаемых от него, будут использоваться следующие шаблоны: число(описание): целое десятичное 32-разрядное число. Представляет из себя последовательность 4 байтов, содержащих данное число текст(описание): текстовые данные. Представляют из себя число(длина текста в байтах) + сам текст пользователь(описание): текст(Ник пользователя) + текст(IP-адрес пользователя) -------------------------------------------------------- Состав сообщений, отправляемых клиентом чата: -------------------------------------------------------- Подключение к серверу данного клиента, список пользователей которые уже присутствуют в чате: -- число(3) + число(количество пользователей в чате) + пользователь()*количество пользователей в чате -- [в данном случае «пользователь()» будет повторяться столько раз, сколько пользователей в чате] Подключение пользователя: -- число(1) + пользователь() -- Отключение пользователя: -- число(2) + пользователь() -- Сообщение в канале: -- число(5) + пользователь() + текст(название канала) + текст(опубликованное сообщение или состояние) -- Смена темы: -- число(6) + пользователь() + текст(название канала) + текст(новая тема) -- Смена ника: -- число(7) + пользователь() + текст(новый ник) -- Смена состояния: -- число(8) + пользователь() + текст(новое состояние) -- Сообщение в приватный канал: -- число(10) + пользователь() + текст(сообщение) -- Открытие менеджера каналов, ответ-запрос списка каналов: -- число(11) + число(количество общих каналов) + (текст(название канала)+число(количество посетителей)+текст(тема))*количество каналов -- [в данном случае «текст(название канала)+число(количество посетителей)+текст(тема)» будут повторяться столько раз, сколько общих каналов в чате] -------------------------------------------------------- Состав сообщений, принимаемых клиентом чата: -------------------------------------------------------- Опубликовать сообщение в канал: -- число(50) + текст(название канала) + текст(сообщение) -- Опубликовать состояние в канал: -- число(51) + текст(название канала) + текст(состояние) -- Наложить ограничение: -- число(52) + число(тип ограничения) + число(тип идентификации) + число(тип анонимности) + число(время в минутах) + текст(учётная запись либо IP-адрес, либо диапазон IP-адресов) + текст(название канала) + текст(причина ограничения) -- Типы ограничения: 0 - Запретить доступ к чату; 1 - Запретить доступ к каналу; 2 - Запретить публикацию в канале; 3 - Запретить публикацию картинок; 4 - Запретить публикацию объявлений. Типы идентификации: 0 - учётная запись; 1 - IP-адрес; 2 - диапазон IP-адресов (пример: 192.168.0.0-192.168.0.255). Типы анонимности: 0 - обычное ограничение; 1 - анонимное ограничение. Запросить список пользователей (клиент чата вернёт сообщение с идентификатором 3): -- число(60) -- Изменить тему канала: -- число(61) + текст(название канала) + текст(новая тема) -- Изменить приветствие канала: -- число(62) + текст(название канала) + текст(новое приветствие) -- Опубликовать сообщение в приват: -- число(63) + пользователь() + текст(сообщение) -- Внимание! Данная команда работает только если клиент имеет право отправки многоадресных сообщений. Опубликовать состояние в приват: -- число(64) + пользователь() + текст(состояние) -- Внимание! Данная команда работает только если клиент имеет право отправки многоадресных сообщений. Выйти из приватного канала: -- число(65) + пользователь() -- Выйти из общего канала: -- число(66) + текст (канал) -- Создать общий канал или подключиться: -- число(67) + число(режим) + текст (канал) -- Режимы: 0 - не отображать в списке каналов (вход для всех); 1 - отображать в списке каналов (вход для всех); 2 - не отображать в списке каналов (вход только по приглашению); 3 - отображать в списке каналов (вход только по приглашению). -- Запросить список каналов: -- число(68) -- --------------------------------------------------------