![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
512es |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток!
Упрошённая схема: Имеется 2 компьютера, клиент и сервер. Клиент достаточно часто запрашивает одни и те же данные (QByteArray) у сервера. Объём данных будем считать относительно большим. Иногда данные могут незначительно меняться. Задача: Максимально сократить объём трафика между клиентом и сервером. Возможно запоминание последних отданных данных клиенту на стороне сервера и последних принятых данных клиентом на стороне клиента. Сейчас используется qCompress. Заметный выигрыш в размере пакетов, но всё равно, теоретически, можно посылать только различия между новым и предыдущим QByteArray + хеш, указывающий на то, какие данные были использованы при сравнении (на всякий случай, для коррекции ошибок). Смотрю в сторону Delta кодирования. Но помоему это немного не то, или я просто не умею его использовать. Как его адаптировать для сравнения двух массивов данных? |
|
|
![]() |
512es |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Ковыряю пример с википедии по дельта-кодированию.
Что-то забывать я стал чистый C... Вообще не пойму, как получается 127+10 программа выдаёт -119:
Помоему должно быть переполнение буфера и вылет с ошибкой, ведь тип char может принимать значения от -127 до 127, судя по той же википедии А ведь тут на этом свойстве весь алгоритм построен.. Сообщение отредактировал 512es - 17.1.2012, 20:50 |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.2.2025, 5:55 |