Комментарии 11
А транспорт у него http? То есть в каком месте он бинарный тогда получается?
0
Хм… вот не понял чем он лучше, чем JSON? Я уж лучше последний в QVariant буду парсить и опять же я могу QVariant спокойно сериализовать в JSON, главное нужные операторы сериализации сделать.
0
Там где я работаю реализовано много сервисов с использованием hessian. Потому я и использую hessian, против JSON ни чего не имею. Ну и JSON несколько больше будет весить.
0
Ну на самом деле при юзании JSON-RPC совсем незначительно больше, зато работать из Qt удобнее. Впрочем раз уж это давно сделали, то ладно, но я при создании чего-то нового врят-ли стал использовать hessian, по мне так JSON наиболее простой и универсальный контейнер.
0
Вот реализовать бы на Qt стеке Thrift, было бы очень интересно.
+1
я как-то начинал это делать и уперся в идеологию исключений. Так получилось, что идеологически исключений нет в Qt, а в Thrift есть. Думал как это решить и уже нашел практически решение (естественно сигналы/слоты) так накрыло работой и больше не занимался.
Но можно там бустовской C++ реализацией на крайний случай пользоваться.
Но можно там бустовской C++ реализацией на крайний случай пользоваться.
0
Сразу в глаза бросается недостаток — в методе invoke когда указываем слоты для обработки ошибки/результата нет возможности указать тип соединения (а их уже аж 5 штук).
поэтому лучше было бы сделать чтоб у класса QHessian::QHessianMethodCall были просто два слота. Это как раз Qt-way. А человек уже может и ни один слот ни прицепить и стопятдесят штук одновременно и причем по разному.
Вообще в Qt есть похожий механизм QDataStream doc.qt.nokia.com/latest/qdatastream.html
поэтому лучше было бы сделать чтоб у класса QHessian::QHessianMethodCall были просто два слота. Это как раз Qt-way. А человек уже может и ни один слот ни прицепить и стопятдесят штук одновременно и причем по разному.
Вообще в Qt есть похожий механизм QDataStream doc.qt.nokia.com/latest/qdatastream.html
0
опечатался, лучше было бы сделать чтоб у класса QHessian::QHessianMethodCall были просто два сигнала.
Конечно сигнала :-)
Конечно сигнала :-)
0
>> QHessian::QHessianMethodCall были просто два слота.
Да я думал об этом, но тогда меняется жизненный цикл объекта QHessian::QHessianMethodCall — он должен существовать пока идет взаимодействие (ожидание данных с сервера), а в принятом мной варианте этот объект можно создовать в стеке.
Да я думал об этом, но тогда меняется жизненный цикл объекта QHessian::QHessianMethodCall — он должен существовать пока идет взаимодействие (ожидание данных с сервера), а в принятом мной варианте этот объект можно создовать в стеке.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
QHessian: Qt & Hessian