草庐IT

asio_handler_invoke

全部标签

c++ - Q_INVOKABLE 是否需要在 Qt5 中从 QML 调用公共(public) QObject 函数?

我刚刚意识到我几乎可以调用公开给QML的对象的任何函数。现在我对Q_INVOKABLE很好奇。Qt5docs状态:[...]anyQMLcodecanaccessthefollowingmembersofaninstanceofaQObject-derivedclass:PropertiesMethods(providingtheyarepublicslotsorflaggedwithQ_INVOKABLE)SignalsSinceQt5(在C++中)我可以像槽一样调用QObject的任何公共(public)函数,即我不必将它们声明为“公共(public)槽”。这是否意味着我可以从QM

c++ - boost::asio::streambuf - 如何重用缓冲区?

我正在实现使用asiosocket.async_read()和boost::asio::async_read_until()方法从套接字异步读取数据的TCP服务器。两者都使用相同的处理程序从boost::asio::streambuf读取数据。通过async_read()调用的完美处理程序:voidhandle_read(constboost::system::error_code&ec,std::size_tytes_transferred)){m_request_buffer.commit(bytes_transferred);boost::asio::streambuf::con

c++ - 从不同线程写入 boost::asio 套接字

在我们的应用程序中,我们使用Boost库(以及用于网络通信的ASIO)。最近,我们发现如果我们通过同一个套接字从不同线程发送数据,我们的客户端应用程序将接收到垃圾数据。突出问题的小测试:#include#include#includevoidsend_routine(boost::shared_ptrs,charc){std::vectordata(15000,c);data.push_back('\n');for(inti=0;i(newtcp::socket(io_service));socket->connect(*iterator);boost::threadt1(send_r

c++ - write_some 与 write - boost asio

当write_some可能无法将所有数据传输到对等端时,为什么有人要使用它?来自boostwrite_some文档Thewrite_someoperationmaynottransmitallofthedatatothepeer.Considerusingthewritefunctionifyouneedtoensurethatalldataiswrittenbeforetheblockingoperationcompletes.write_some方法在boost中有write方法的相关性是什么?我浏览了boostwrite_some文档,我猜不出什么。

c++ - 在 Linux 上编译 boost asio 时出现链接错误

我一直在浏览一些boost教程和它的库。我完成了boost的基础教程:http://www.boost.org/doc/libs/1_52_0/more/getting_started/unix-variants.html而且效果很好。我在使用asio教程时遇到问题:http://www.boost.org/doc/libs/1_50_0/doc/html/boost_asio/tutorial/tutdaytime1/src.html看起来像是链接错误,但我包含了与之前相同的路径:g++-I/usr/local/boost_1_52_0test.cpp-oexample错误:/tmp

c++ - boost spirit qi on_error 通过引用传递 error_handler struct

我又遇到了灵气障碍问题。我在一个名为error_handler的仿函数结构中实现了错误处理。这通过引用传递给语法构造函数(参见Qi的MiniC示例)。然后我有on_errors在语法的构造函数中定义:typedefboost::phoenix::function>error_handler_function;on_error(gr_instruction,error_handler_function(err_handler)(L"Error:Expecting",_4,_3));//moreon_errors...但是,我的error_handler有私有(private)成员。好像每

c++ - 我可以将 boost asio 用于 HTTPS 请求吗

我可以对HTTPS请求使用boostasio吗?我可以发出GET和POSTHTTP请求,但是HTTPS呢?我该如何处理?有人可以给我一个代码片段吗? 最佳答案 是的,你可以。http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp只需将它集成到您​​的HTTP请求中即可。 关于c++-我可以将boostasio用于HTTPS请求吗,我们在StackOverflow上找到一个类似的问题:

c++ - 从 std::thread 调用 boost::asio::io_service::run

我有一个处理我的连接的类,它有一个boost::asio::io_service成员。我想从std::thread调用io_service::run(),但我遇到了编译错误。std::threadrun_thread(&boost::asio::io_service,std::ref(m_io_service));不起作用。我看到了使用boost::thread执行此操作的各种示例,但我想为此坚持使用std::thread。有什么建议么?谢谢 最佳答案 我知道有两种方法,一种是通过lambda创建std::thread。std::t

c++ - boost ASIO streambuf

我对boostasio::streambuf类中的输入序列和输出序列感到困惑。根据文档中的代码示例(用于发送数据),表示输入序列的缓冲区似乎用于写入套接字,而表示输出序列的缓冲区用于读取。例子-boost::asio::streambufb;std::ostreamos(&b);os现在,有命名问题吗? 最佳答案 boost::asio::streambuf的命名法类似于C++标准中定义的,并在标准模板库中跨各种类使用,其中数据写入输出流,数据从输入流读取。例如,可以使用std::cout.put()写入输出流,使用std::cin

c++ - Memory SPIKE - boost ASIO 异步读取

写了一个只从客户端读取数据的服务器:使用boost::array缓冲区启动服务器,系统监视器显示1MB的使用量。1.)只需执行一个async_read_some并执行一个handleRead,我会在其中再次调用asyncRead函数。voidasyncRead(){m_socket->async_read_some(boost::asio::buffer(m_readBuffer,READ_BLOCK_SIZE),m_strand->wrap(boost::bind(&ConnectionHandler::handleRead,shared_from_this(),boost::asi