SQLite и Сеть, Выполнение запросов и приём строк таблиц по сети... |
Здравствуйте, гость ( Вход | Регистрация )
SQLite и Сеть, Выполнение запросов и приём строк таблиц по сети... |
512es |
1.12.2010, 3:22
Сообщение
#1
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
Всем привет!
Есть задача синхронизации 2-х баз через интернет. В основном атомарные селекты, построчно. Через ооочень плохой интернет. Список строк, которые нужно обновить, получаю сравнением таблиц хешей в базах. Собираюсь писать клиент и сервер. Как лучше пересылать строки таблиц? Знаю несколько вариантов: 1) QTcpServer + QDataStream (свой протокол) 2) QTcpServer + QtXml 3) RPC (QxtXmlRpc или qxmlrpc) 4) QHttp (get. post) В целом, последовательность действий будет такова: 1) Запрос, 1 строка переменной длинны (удастся ли обойтись без QSqlQuery::prepare() ??) 2) Ответ, 1 строка таблицы переменной длинны и количества столбов или result Кроме того, в пакеты собираюсь встраивать хеш, чтобы исключить 99.9% ошибок. А так же, сжимать их посильнее (zlib или арифметическим кодированием). Ну и ssl тоже не помешал бы..) Вообще, в QDataStream можно легко построить нужный пакет и залить в него строку. Но придумывать протокол лениво немного)) С другой стороны, в чужом коде копаться тоже не охота.. А с хмлом, честно сказать, как следует знаком не был. В целом, задумка попахивает попыткой написания сервера склайта. Отправлять запросы, принимать строки таблиц. Упор на проверку ошибок пакетов. Сейчас использую вместо второй базы Postgres. Вообщем то работает, но от жуткого инета иногда зависает клиентская программа( Думается мне, что не по назначению юзаю постгрес.. Посоветуйте что нибудь.) Если можно, с простенькими примерами, дабы сравнить способы. Сообщение отредактировал 512es - 1.12.2010, 3:25 |
|
|
Текстовая версия | Сейчас: 28.1.2025, 19:55 |