Russian Qt Forum
Май 08, 2024, 00:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 3 4 [5] 6 7 ... 69
61  Qt / Работа с сетью / Re: Биндинг сокетов на разные сетевые карты и LoopBack.. : Март 31, 2016, 12:04
Хороший совет, спасибо, думаю под линуксом заработает. А вот как быть с виндой?
62  Программирование / Алгоритмы / Re: Проверка синхронности данных по каналам : Март 25, 2016, 15:54
Есть два шкафа оборудования. Они дублируют друг друга. Типа горячий резерв.
К каждому шкафу подключено по два сервера.
Т.е. система два по два. Итого 4 канала. Т.к. в любой момент может выйти из строя один из шкафов или один из серверов, была выбрана такая вот схема.
К сожалению столкнулись с тем, что временами наблюдается рассинхронизация данных, которая возникает из за сетевых задержек, глюков оборудования и т.п.
В текущий момент пользователь видит данные только с одного канала, остальные как бы в горячем резерве. Если канал отваливается, происходит переключение на следующий.
Так вот, возникли ситуации, когда данные по некоторым объектам были в определенные периоды разными. Опустим здесь изъяны архитектуры, к сожалению я не могу на это повлиять,
каналы должны быть независимыми друг от друга. Поэтому конечная точка сведения данных моя программа. При возникновении рассинхрона, пользователю будет выдано об этом сообщение,
что бы он мог переключаться вручную, и смотреть какие данные по каким кланам в текущий момент.
Пока вроде с простым перебором свойств нагрузка на проц не очень большая, в пределах 1-2% на core i7 4770. Исполнительное оборудование по проще, core i5 второго поколения.
Просто я догадываюсь, что есть более изящные способы проверки. Как я упоминал выше, например расчёт хеша для каждого StateObject. Но как єто отразится на производительности.
63  Qt / Установка, сборка, отладка, тестирование / Разное поведение программы при отладке и запуске в обычном режиме : Март 25, 2016, 13:30
Привет. Столкнулся с таким странным поведением моей программы. Если ее запустить обычно, то в консоль выводится сообщение qDebug, которое происходит, если два значения не равны.
Если я ставлю точку останова на это место и запускаю отладку, то приложение работает нормально, но на точке останова оно не останавливается и соответственно сообщение в консоль не выдается (получается что оба значения равны). В чем может быть причина? Приложение собрано в конфигурации DEBUG.
64  Программирование / Алгоритмы / Проверка синхронности данных по каналам : Март 25, 2016, 12:59
Привет. Есть некоторые объекты , наследники от QObject, состояния которых приходит по сети в json (хотя не суть важно).
У объектов есть свойства, некоторые булевые, некоторые целочисленные, перечисления, float и строковые. Ну например
Код:
class StateObject : public QObject {
Q_PROPERTY (bool prop1 ...)
Q_PROPERTY (bool prop2 ...)
Q_PROPERTY (int prop3 ...)
Q_PROPERTY (float prop4 ...)
Q_PROPERTY (QString prop5 ...)
Q_PROPERTY (some_enum prop6 ...)
...
}
Состояние этого объекта обновляется несколько раз в секунду на основании данных с сети, парсится json, и обновляются свойства объекта, после чего его свойства уже читаются другими объектами.
Так вот, у меня 4 сетевых канала данных, по которым приходят состояния этого объекта. Иногда наблюдается рассинхронизация данных, например prop1 по одному каналу false, по остальным трем true.
Мне нужно проверять каждую секунду синхронность состояний StateObject. На каждое сетевое подключение свой экземпляр StateObject.
Таких объектов на самом деле много (тысячи). Но не все меняют свое состояние часто, одни периодически, одни асинхронно по событиям извне.
Так вот, сейчас синхронность проверяется тупым перебором свойств и сравниванием их значений. Я подумал, может есть более элегантное решение, например для каждого StateObject вычислять хеш его состояния на основании его свойств при каждом изменении, а дальше просто сравнивать их хеши. Нужно подобрать оптимальный вариант в плане производительности. Полагаю тупой перебор свойств у четырех экземпляров StateObject и сравнение QVariant не самое оптимальное решение.
65  Qt / Общие вопросы / Стоит ли использовать QSharedData в данном случае? : Март 21, 2016, 18:29
Привет. На сколько мне известно QString использует implicit sharing.
Нужно ли мне использовать для своего класса QSharedDataPointer, если класс имеет вид:
class CDecodedMessage
{
    QDateTime   fdt;
    QString     fmessage;
    QString     fwarnLevel;
}

Т.е. пару строк и дата. Экземпляры хранятся в списках, передаются в функции (по ссылкам) и т.п.
Будет ли какой то прирост эффективности, или можно положиться на QString?
66  Qt / Кладовая готовых решений / Re: Автоматическое получение ревизии SVN в ПО : Сентябрь 23, 2015, 14:41
рано радовался, в винде работает коряво, да и в линуксе тоже не ахти, пришлось отказаться
67  Qt / Пользовательский интерфейс (GUI) / Re: Ужасно ли?: Вставить в делегат календаря ListView : Сентябрь 23, 2015, 14:36
нечто подобное делал, когда в ячейке нужно было сделать выпадающий список с кастомной моделью. ничего плохого в этом не вижу, но модель сделал одну в куче и по указателю к ней обращался
68  Qt / Пользовательский интерфейс (GUI) / Re: Не отображается интерфейс диалога QDialog : Сентябрь 23, 2015, 14:33
еще смотрите в сторону QProgressDialog. Он как раз для таких задач!
69  Qt / Общие вопросы / Re: обновление иконки и setWindowIcon : Сентябрь 16, 2015, 10:42
для начала, в какой ОС вы это пытаетесь сделать?
70  Программирование / С/C++ / Re: Вопрос по запуску программы QT на другом компьютере : Сентябрь 14, 2015, 12:15
лучше всего сделать свой инсталлятор, в котором будет прописана иерархия файлов. я так и сделал. причем и под виндовс и под лины..
Написав один раз скрипт инсталлятора (в частности InnoSetup) я забыл про все эти зависимости.
71  Qt / XML / Re: Являются ли QDomDocument и QDomElement классами с implicitly shared? : Сентябрь 07, 2015, 10:29
самый простой выход - смотреть исходники
72  Qt / Работа с сетью / Re: Получить сетевой адрес файла : Сентябрь 07, 2015, 10:27
я даже не знаю как это должно быть реализовано? на виндовс шарах, или фтп?
73  Qt / Вопросы новичков / Re: Потоки : Сентябрь 07, 2015, 10:25
при завершении потока пробуйте так
thread.quit();
thread.wait();
74  Qt / Вопросы новичков / Re: Генерация UML на основе исходных кодов : Сентябрь 07, 2015, 10:23
Я тоже в свое время задаля вопросом использования UML редакторов. Но подвязать к готовому проекту не получилось, много сиходников, генерация глючила а порой просто висла. Пытался юзать Umbrello.
75  Qt / Вопросы новичков / Re: Проблема с плагинами : Сентябрь 07, 2015, 10:22
либо пиши где ошибка либо удаляй тему
Страниц: 1 ... 3 4 [5] 6 7 ... 69

Страница сгенерирована за 0.056 секунд. Запросов: 24.