-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
Все параметры для работы сервера указываются в файле appsettings.json.
Ниже показан формат данного файла и все возможные настройки:
{
"Connection":{
"Addr" : "192.168.0.102",
"Port" : 49001,
"SSL" : {
"IP": "192.168.0.102",
"SerialNumb": "17 01 ee 13 52 a5 36 99 47 c3 93 60 08 74 ed 70",
"PathFile": "D:\\cert.pfx",
"Password": "Qwe123"
}
},
"DataBase": {
"NameDB" : "SQLite",
"ConnectionString" : "Filename=RAIDAChat.db",
"CntConnect": 10
},
"TransactionRollback" : 60,
"LimitMsgForDialog" : 100,
"CleanUpTimer" : 3600,
"SyncWorldTime" : 86400,
"TrustedServers":[
"http://192.168.0.102:49002"
]
}Секция Connection (Обязательно) содержит сетевые параметры ноды:
- Addr (Обязательно) : IP4 адрес или DNS имя по которому будет доступен сервер
- Port : Порт для подключения клиентов по WebSocket
- SSL : Настройки для использования защищенного SSL соединения
-
- IP (Обязательно) : Только IP4 совпвдающее с Addr
-
- SerialNumb (вариант-1) : Серийный номер используемого сертификата
-
- PathFile (вариант-2) : Путь до файла сертификата с расширением pfx
-
- Password (вариант-2) : Пароль от файла
При использовании SSL соединения можно указать один из вариантов:
- Использовать только серийный номер сертификата (SerialNumb) предварительно установив его в реестр (Локальный компьютер -> Доверенные корневые центры сертификации)
- Указать только PathFile и Password
Секция DataBase содержит параметры подключения к базе данных.
- NameDB : Наименование БД, которая будет использоваться (Доступные варианты: SQLite, MySQL, MSSQL)
- ConnectionString : Строка подключения к БД. Если в ней отсутствуют пара логин-пароль для подключения, то в процессе запуска сервера потребуется указать данную информацию.
- CntConnect : Количество попыток подключения к БД с интервалом в 1 секунду
Внимание! Доступно использование только реляционных БД:
- MySQL
- SQLite
- MSSQL
Пример подключения к
MySQLс указанием пары логин-пароль"DataBase": { "NameDB" : "MySQL", "ConnectionString" : "server=localhost;port=3306;database=raidachat;user id=root;password=root;" }Пример подключения к
MSSQLбез указани пары логин-пароль"DataBase": { "NameDB" : "MSSQL", "ConnectionString" : "data source=SEREGA\\SQLSERV2016;initial catalog=CloudChatPortable;persist security info=True;multipleactiveresultsets=True" }Внимание! Пользователь СУБД должен иметь права на создание новой БД При возникновении ошибки
Database connection is fail. Error: {errorMessage}необходимо проверить строку подключения, доступность БД и ее настройки или гуглить ошибку {errorMessage}.
Секция TrustedServers (Обязательно) : Представляет собой список(массив) url-адресов доверенных серверов с которыми будет осуществляться синхронизация данных. В обязательном порядке должен содержать минимум один адрес.
Дополнительные параметры:
- TransactionRollback : Указывается время в течение которого можно совершить отмену операции. Подробнее
- LimitMsgForDialog : Количество сообщений одного диалога, которые хранятся на сервере
- CleanUpTimer : Количество секунд через которое производится очищение ненужной информации (Устаревшие транзакции и сообщения с истекшим временем жизни)
- SyncWorldTime : Количество секунд через которое внутренний таймер синхронизируется с мировым временем
Пояснения: Секции и параметры у которых не указано слово (Обязательно), можно не указывать в файле. В таком случае к ним будут применены значения по умолчанию, которые указаны в примере выше.
Пример минимальной конфигурации:{ "Connection":{ "Addr" : "192.168.0.102", }, "TrustedServers":[ "http://192.168.0.102:49002" ] }
Ограничения на указываемые значения:
- Port - Принимает значения от 1 до 65535
- NameDB - Можно указать только один из вариантов: sqlite, mysql, mssql
- CntConnect - Принимает значения от 1 до 25
- TransactionRollback - Принимает значения от 0 до 3600
- LimitMsgForDialog - Принимает значения от 0 до 3600
- CleanUpTimer - Принимает значения от 60 до 86400
- SyncWorldTime - Принимает значения от 1800 до 86400