Simple Chat 2
Разработка Simple Chat 2
Категории:
http://simple.impomezia.com/Development - На этой странице представлены основные сведения, связанные с разработкой Simple Chat 2.
- IMPOMEZIA's блог
- Добавить комментарий
- 3205 просмотров
Поддержка SRV записей
Категории:
В Simple Chat 0.x для определения адресов серверов в сети использовались специальные XML файлы сети, в которых были перечислены сервера, Новый Simple Chat 2 подобные файлы поддерживать не будет. Вместо этого будут использоваться стандартные возможности DNS, а именно SRV записи. Например, если мы хотим подключиться к серверу с адресом schat://schat.me клиент произведёт DNS запрос вида _schat._tcp.schat.me для получения SRV записей, в которых будет адреса и порты серверов обслуживающих этот домен. Явное указание порта или ip адреса позволяют отключить этот механизм.
- IMPOMEZIA's блог
- Добавить комментарий
- 3091 просмотр
Cookie авторизация
Категории:
В Simple Chat 2 реализована Cookie авторизация, которая является дополнением для стандартной анонимной авторизации и используется для второго и последующих подключений к серверу. Основная задача этого типа авторизации сохранить идентификатор пользователя не именным при смене оборудования пользователя, при условии, что конфигурационный файл с параметрами подключения не будет изменён. В случае невозможности Cookie авторизации, будет произведена обычная анонимная авторизация. В любом случае всё происходит прозрачно для пользователя и не требует его участия.
- IMPOMEZIA's блог
- Добавить комментарий
- Читать далее
- 3165 просмотров
Оффлайн-сообщения
Категории:
Simple Chat 2 будет поддерживать оффлайн-сообщения. Поддержка этой функциональности обеспечивается серверным плагином Message Log, клиент поддерживает оффлайн-сообщения без всяких плагинов.
- IMPOMEZIA's блог
- Добавить комментарий
- 3163 просмотра
Объединение серверов
Категории:
Сервера в Simple Chat 2 также можно будет объединять в одну сеть. Ограничения остались прежними один корневой сервер и до 255 вторичных серверов, которые могут быть к нему подключены. Последовательное соединение вторичных серверов и множественное подключение одного сервера к другим по-прежнему не поддерживается. Подобный механизм объединения, конечно, уступает IRC, но это лучше чем в других клиент-серверных чатах вообще не поддерживающих объединение.
- IMPOMEZIA's блог
- 2 комментария
- Читать далее
- 3251 просмотр
Улучшения сервера
Категории:
Сервер в Simple Chat 2 получит возможность принимать соединения одновременно на нескольких портах. Две конфигурационные опции ListenAddress и ListenPort заменены на одну Listen принимающую список разделённых запятыми пар адрес и порт, например 0.0.0.0:7667, 0.0.0.0:7669.
- IMPOMEZIA's блог
- Добавить комментарий
- Читать далее
- 3134 просмотра
Контекстное меню пользователя
Категории:
В ранних версиях Simple Chat контекстное меню пользователя вызывалось только в списке пользователей.
В Simple Chat 2 интеграция этого меню значительно переработана и теперь оно также отображается при клике правой кнопкой мыши в следующих случаях:
В Simple Chat 2 интеграция этого меню значительно переработана и теперь оно также отображается при клике правой кнопкой мыши в следующих случаях:
- В заголовке вкладки приватного разговора
- В любом месте в тексте приватного разговора, кроме клика по внешним ссылкам
- По клику по нику в тексте чата.
- IMPOMEZIA's блог
- Добавить комментарий
- Читать далее
- 2990 просмотров
Производительность SQLite для хранения сообщений
Категории:
По умолчанию история сообщений в Simple Chat 2 будет храниться в SQLite базе данных. Начал реализовать запись истории и столкнулся с жуткими тормозами, простейшая вставка в пустую таблицу занимала 150 мс! Этого достаточно чтоб заметить задержку при добавлении сообщений.
Исправить оказалось довольно просто с помощью PRAGMA synchronous = OFF после чего время вставки составило 1-2 мс. Но эта опция может привести к повреждению базы при внезапном отключении питания и т.п.
Подобные результаты получились в Windows 7 64 бит, Qt 4.7.3 и встроенном в Qt SQLite 3.6.19.
Исправить оказалось довольно просто с помощью PRAGMA synchronous = OFF после чего время вставки составило 1-2 мс. Но эта опция может привести к повреждению базы при внезапном отключении питания и т.п.
Подобные результаты получились в Windows 7 64 бит, Qt 4.7.3 и встроенном в Qt SQLite 3.6.19.
- IMPOMEZIA's блог
- 6 комментариев
- 4101 просмотр
Игнорирование сообщений
Категории:
В Simple Chat 2 была добавлена поддержка игнорирования сообщений. Благодаря новой сетевой архитектуре это не потребовало изменения кода сервера. Используется уникальный идентификатор пользователя, поэтому смена ника или ip адреса не приведёт к обходу игнорирования.
Были добавлены две команды /ignore и /unignore, обе команды не принимают параметры в виде ника пользователя и т.д. и должны вводиться в открытой вкладке приватного разговора для автоматического получения идентификатора пользователя.
Были добавлены две команды /ignore и /unignore, обе команды не принимают параметры в виде ника пользователя и т.д. и должны вводиться в открытой вкладке приватного разговора для автоматического получения идентификатора пользователя.
- IMPOMEZIA's блог
- Добавить комментарий
- Читать далее
- 3349 просмотров
Разработка Simple Chat 2
Категории:
Было решено создать полностью обновлённую версию Simple Chat с учётом всего накопленного ранее опыта, предложения по добавлению функционала приветствуются. Разработка не завершена, поэтому эта версия пока не доступна для скачивания в виде готового дистрибутива.
- IMPOMEZIA's блог
- 7 комментариев
- 3899 просмотров
