草庐IT

asio-acceptor

全部标签

c++ - boost::asio::spawn yield 作为回调

我正在尝试使用boost::asio::spawn协程重写项目。项目的某些部分无法更改。比如存储协议(protocol)库也是用boost::asio写的,但是没有协程。问题是如何将yield_context转换为普通回调(boost::function对象或经典仿函数)。这就是我们在存储库API中的内容:voidasync_request_data(uint64_titem_id,boost::functioncallback);从示例中我们知道,asioyield上下文可以这样使用:my_socket.async_read_some(boost::asio::buffer(data

c++ - 如何优雅地关闭 boost asio ssl 客户端?

客户做了一些ssl::stream::async_read_some()/ssl::stream::async_write()调用并在某些时候需要退出,即它需要关闭连接。调用ssl::stream::lowest_layer().close()可以,但是(正如预期的那样)服务器(openssls_server-state...命令)在关闭连接时报告错误。查看API的正确方法似乎是调用ssl::stream::async_shutdown().现在基本上有两种情况需要关机:1)客户端位于async_read_some()回调并对来自服务器的“退出”命令作出react。从那里调用async

c++ - 如何优雅地关闭 boost asio ssl 客户端?

客户做了一些ssl::stream::async_read_some()/ssl::stream::async_write()调用并在某些时候需要退出,即它需要关闭连接。调用ssl::stream::lowest_layer().close()可以,但是(正如预期的那样)服务器(openssls_server-state...命令)在关闭连接时报告错误。查看API的正确方法似乎是调用ssl::stream::async_shutdown().现在基本上有两种情况需要关机:1)客户端位于async_read_some()回调并对来自服务器的“退出”命令作出react。从那里调用async

c++ - 使用 Boost.Asio 和 OpenSSL 的 HTTPS 请求

我正在尝试读取https://mtgox.com/api/0/data/ticker.php处的股票代码来self的C++应用程序。我使用Boost.Asio和OpenSSL,因为该服务需要HTTPS。boost版本:1.47.0OpenSSL:1.0.0d[2011年2月8日]Win32对于应用程序;我以http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp中的示例为例开始并修改如下:这是我要连接的地方:boost::asio::ip::tcp::resolver::queryqu

c++ - 使用 Boost.Asio 和 OpenSSL 的 HTTPS 请求

我正在尝试读取https://mtgox.com/api/0/data/ticker.php处的股票代码来self的C++应用程序。我使用Boost.Asio和OpenSSL,因为该服务需要HTTPS。boost版本:1.47.0OpenSSL:1.0.0d[2011年2月8日]Win32对于应用程序;我以http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp中的示例为例开始并修改如下:这是我要连接的地方:boost::asio::ip::tcp::resolver::queryqu

c++ - boost asio io_service.run()

我刚刚浏览了asiochatserverexample.我的问题是关于他们对io_service.run()函数的使用。io_service.run()函数的文档说:Therun()functionblocksuntilallworkhasfinishedandtherearenomorehandlerstobedispatched,oruntiltheio_servicehasbeenstopped.Multiplethreadsmaycalltherun()functiontosetupapoolofthreadsfromwhichtheio_servicemayexecuteha

c++ - boost asio io_service.run()

我刚刚浏览了asiochatserverexample.我的问题是关于他们对io_service.run()函数的使用。io_service.run()函数的文档说:Therun()functionblocksuntilallworkhasfinishedandtherearenomorehandlerstobedispatched,oruntiltheio_servicehasbeenstopped.Multiplethreadsmaycalltherun()functiontosetupapoolofthreadsfromwhichtheio_servicemayexecuteha

c++ - 如何使用 boost::asio SSL 验证客户端证书?

以下是SSL上下文初始化和验证回调注册的代码片段。如果我使用正确的证书连接SSL客户端,它会验证证书并按预期工作。但是如果我在没有任何证书的情况下连接客户端,那么它允许连接(实际上它不应该允许没有证书的连接)。如果SSL客户端不发送证书,则不会调用验证回调。boost::asio::ssl::context_base::methodSSL_version=static_cast(param_values[ID_PROTOCOL_VERSION].int32_value);//loadcertificatefilesboost::shared_ptrcontext_=boost::sha

c++ - 如何使用 boost::asio SSL 验证客户端证书?

以下是SSL上下文初始化和验证回调注册的代码片段。如果我使用正确的证书连接SSL客户端,它会验证证书并按预期工作。但是如果我在没有任何证书的情况下连接客户端,那么它允许连接(实际上它不应该允许没有证书的连接)。如果SSL客户端不发送证书,则不会调用验证回调。boost::asio::ssl::context_base::methodSSL_version=static_cast(param_values[ID_PROTOCOL_VERSION].int32_value);//loadcertificatefilesboost::shared_ptrcontext_=boost::sha

c++ - Boost.Asio 仅作为 header

我想在我的项目中使用来自Boost的ASIO库。它的文档说,如果不使用正则表达式并且不使用SSL,它可以是仅header。但是,为asio运行bcp会拉出很多库,其中一些库带有源代码,因此需要编译,bjam等。我可以在项目中以某种方式将ASIO用作仅header,而不使用库/源吗?我只需要ASIO,不需要Boost的其他部分。编辑:ASIO想要Boost.System有一个要链接的库-这种依赖不能这样我只能使用headerASIO吗? 最佳答案 AFAIK,您可以从http://think-async.com/Asio/AsioAn