Содержание

Настройка файла comet.ini

* Параметры можно задавать в любом порядке. * Регистр важен * Комментарий начинается с символа `;`

Статья расчитана на версию CppComet 3.22 и старше

Секция [main]

Пароль для доступа из cometQL

password = 0000000000000000000000000000000000000000000000000000000000000000

Максимальный размер буфера в байтах для работы с сообщениями

buf_size = 10384

Размер буфера в байтах для хранения фрагментированных сообщений

fragment_buf_size = 600

Максимальный размер буфера хранения фрагментированных сообщений

fragment_buf_max_size = 10384

Надо ли выводить в лог комет сервера запросы приходящие через cometQL

useQueryLoger = false

Максимальный размер буфера для ответа на запрос

answer_buf_size = 1000000

Комет сервер может отдавать статические файлы. По умолчанию такая возможность отключена. Но если задать параметр base_dir то он начнёт отдавать файлы по имени из этой дерриктории как примитивный http сервер. Поддерживает только get запросы. В секции [content-type] можно задать соответсвие расширения заголовку content-type

base_dir = /var/www/html

Секция [statistics]

В комет сервере есть механизм сбор статистики использования и отправки на сервер разработчика ( Для чего и какие данные отправляет смотрите здесь http://statistics.comet-server.ru/api/statistics ) Чтоб отключить отправку статистики надо выставить значение false

allow = true

Секция [db]

Подключение к бд mysql

host = localhost
user = root
password = root
name = comet_db
port = 3305

Секция [ws]

ip адрес для приёма соединений с вебсокетов

ip = 0.0.0.0

Количество потоков в которые обрабатываются соединения с вебсокетов, каждый поток увеличивает общее потребление памяти примерно 10 - 15 мб так что для малонагруженной конфигурации можно казывать 1 поток

thread_num = 4

Комет сервер учитывает количество соединений онлайн и количество сетевых событий, это интервал в секундах между замерами значение 0 не замерять

statistics = 10

Порт для прослушивания подключений по вебсокетам

port = 8087

Интервал в секундах для проверки uptime у подключений, 0 не запускать проверку

uptimeTestInterval = 600

Максимальный uptime подключения после которого соединение разрывается принудительно

maxUptime = 0

Список хостов через запятую с которых разрешено подключатся из javascript api (проверяется на основе http заголовка ) по умолчанию ограничения нет

host = *

Только для работы в кластере. Список параметров для подключения к другим серверам кластера. Для каждого сервера в кластере надо указать свою строку подключения. Строка регистрозависимая. Server - имя хоста сервера Database - версия апи. Сейчас всегда CometQL_v1 Uid - имя пользователя, всегда root Pwd - пароль Port - порт для подключения к CometQL

cluster = []Server=127.0.0.1,Database=CometQL_v1,Uid=root,Pwd=0000000000000000000000000000000000000000000000000000000000000000,Port=3311

Секция [cometql]

ip = 0.0.0.0 
thread_num = 3 ; number of threads for receive message from cometql
statistics = 10
port = 3300
uptimeTestInterval = 600  
maxUptime = 0  

Секция [content-type]

Позволяет задать соответсвие content-type и типа файла.

на пример так:

js = text/javascript
css = text/css

Секция [log]

Настройка уровня логирования чем выше число тем больше логов сыпится. * 0 - не выводить * 100 - критические ошибки * 200 - ошибки * 300 - предупреждения * 400 - лог * 500 - режим отладки

Параметр выставляет общий для всех подсистем максимальный уровень логирования

level = 200; 

Уровни логирования для отдельных подсистем для того чтоб было можно смотреть лог по отдельности для разных событий используется для удобства отладки

Any = 500

События от класса логера

TagLoger = 500

События класса хранения настроек

appConf  = 500

События от класса взаимодействия через pipe (в операционной системе)

pipeCommands = 500

Модуль сбора статистики

statistics = 500

Отключение соединений по превышению uptime

removeOldConnections = 500

Работа с mysql

MySqlServer = 500

Класс работы с данными пользователей (авторизация, время последнего онлайна)

UserIndex = 500

Класс пользователя (авторизация, время последнего онлайна)

UserItem = 500

Работа с вебсокетами

ClientServer = 500

Устаревшая секция работы с php api

ServerServer = 500

Работа с редис (устаревшая секция)

SimpleRedisClient = 500

Приём и распределение сетевых соединений

tcpServer = 500

Заготовки кластеризапции ещё не всё готово

CometQLCluster = 500

Работа с авторизацией от cometql подключений

devManager = 500

Отправка запросов к бд mysql

dbLink = 500

Секция [freeswitch]

Секция [freeswitch] в comet.ini поднимает на указанном порту и ip адресе http интерфейс который отвечает за механизм единой с freeswitch авторизации пользователей.

ip = 0.0.0.0
thread_num = 3
statistics = 10
port = 84 
Важно что этот интерфейс не должен быть доступен из внешнй сети. На данный момент не реализована поддержка авторизации (планируется в следующих релизах) и соответственно во избежание утечки данных авторизации надо разрешить доступ к этому порту только доверенным ip адресам с вашими серверами FreeSwitch. Ограничить доступ можно средствами фаервола.