tag:blogger.com,1999:blog-3767932718256497924.post7181010479295781411..comments2023-04-11T13:54:51.547+03:00Comments on asio samples: Qt Echo Server releasedMarat Abrarovhttp://www.blogger.com/profile/01714473137005987457noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-3767932718256497924.post-59999381222599316772011-05-31T20:11:09.578+04:002011-05-31T20:11:09.578+04:00значит я не с того начал.
начну-ка я с echo_server...значит я не с того начал.<br />начну-ка я с echo_server и async_basics.niXmanhttps://www.blogger.com/profile/11866923921826623655noreply@blogger.comtag:blogger.com,1999:blog-3767932718256497924.post-36346877489905450272011-05-31T19:50:30.826+04:002011-05-31T19:50:30.826+04:00To niXman:
В qt_echo_server именно что реализация ...<i>To niXman:</i><br />В qt_echo_server именно что реализация самого сервера (классы session_manager и session - см. их же в echo_server - консольный вариант) отделена от GUI. <br />qt::Service - оболочка-прослойка для приведения session_manager в Qt-style (signal/slot) с дальнейшим стандартным для Qt подключением к чему угодно, например, к GUI.Marat Abrarovhttps://www.blogger.com/profile/01714473137005987457noreply@blogger.comtag:blogger.com,1999:blog-3767932718256497924.post-4982346308987746862011-05-31T19:41:32.097+04:002011-05-31T19:41:32.097+04:00To niXman:
Вообще-то, я был неправ.
То, что написа...<i>To niXman:</i><br />Вообще-то, я был неправ.<br />То, что написано в qt_echo_server как раз в итоге выливается в invokeMethod.<br />Но, в "моем" варианте invokeMethod "подается" в "красивой обертке" стандартного для Qt механизма signal/slot со всеми его "вкусностями" - конкретно мне нужен быд метод disconnect.Marat Abrarovhttps://www.blogger.com/profile/01714473137005987457noreply@blogger.comtag:blogger.com,1999:blog-3767932718256497924.post-87703202832795666662011-05-31T19:17:24.540+04:002011-05-31T19:17:24.540+04:00по началу, я немного неверное понял архитектуру эт...по началу, я немного неверное понял архитектуру этого проекта.<br />у Вас, наверняка, целью было показать интеграцию "реализации" и GUI.<br />я же, всегда разделяю реализацию от GUI так, чтоб GUI к реализации "наклеивался" всего одним стыком, и работала реализация с любым GUI, или даже с callback`ами в терминале.<br />именно исходя из этих соображений я и понял Ваш код не верно, т.е. так, как будто это единственный способ.niXmanhttps://www.blogger.com/profile/11866923921826623655noreply@blogger.comtag:blogger.com,1999:blog-3767932718256497924.post-60083500001071195672011-05-31T18:27:35.345+04:002011-05-31T18:27:35.345+04:00Читал.
Способ из echo_server как раз таки проще ...Читал. <br /><br />Способ из echo_server как раз таки проще (мы же говорим не об объеме исходного кода?):<br />1) никаких мета-данных - что уже дает выигрыш в скорости - да и к чему использовать подсистему мета-данных, когда можно обойтись без нее? <br />2) вызывающей стороне нет необходимости знать, что конкретно вызывать - вариант из qt_echo_server похож в этом на boost::function.<br /><br />В данном случае (он, кстати, довольно общий) <br />использование invokeMethod равносильно использованию reflection в Java вместо listener.Marat Abrarovhttps://www.blogger.com/profile/01714473137005987457noreply@blogger.comtag:blogger.com,1999:blog-3767932718256497924.post-74962447330760304162011-05-31T17:45:39.410+04:002011-05-31T17:45:39.410+04:00есть способ намного проще: http://doc.qt.nokia.com...есть способ намного проще: http://doc.qt.nokia.com/latest/qmetaobject.html#invokeMethodniXmanhttps://www.blogger.com/profile/11866923921826623655noreply@blogger.com