草庐IT

asio_handler_invoke

全部标签

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

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

c++ - boost::asio::socket 线程安全

(这是我原来问题的简化版)我有几个线程写入boostasio套接字。这似乎工作得很好,没有问题。文档说共享套接字不是线程安全的(here,在底部)所以我想知道是否应该用互斥锁或其他东西保护套接字。这个question坚持认为保护是必要的,但没有给出如何保护的建议。我最初的问题的所有答案也坚持认为我所做的事情很危险,并且大多数人都敦促我用async_writes或更复杂的东西替换我的写入。但是,我不愿意这样做,因为这会使已经运行的代码复杂化,并且没有一个回答者让我相信他们知道他们在说什么——他们似乎已经阅读了与我相同的文档并且正在猜测,就像我一样是。所以,我编写了一个简单的程序来对从两个

c++ - boost::asio::socket 线程安全

(这是我原来问题的简化版)我有几个线程写入boostasio套接字。这似乎工作得很好,没有问题。文档说共享套接字不是线程安全的(here,在底部)所以我想知道是否应该用互斥锁或其他东西保护套接字。这个question坚持认为保护是必要的,但没有给出如何保护的建议。我最初的问题的所有答案也坚持认为我所做的事情很危险,并且大多数人都敦促我用async_writes或更复杂的东西替换我的写入。但是,我不愿意这样做,因为这会使已经运行的代码复杂化,并且没有一个回答者让我相信他们知道他们在说什么——他们似乎已经阅读了与我相同的文档并且正在猜测,就像我一样是。所以,我编写了一个简单的程序来对从两个