crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> 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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.4.2024, 16:54