草庐IT

BOOST-ASIO

全部标签

c++ - boost 正则表达式链接 : Can't find library

我在链接BoostRegex时遇到问题,尽管我可以运行(编译/链接)其他Boost程序。我意识到这是“有据可查的”,但我找不到答案,因为各种帖子使用不同版本的Boost、不同的编译器、使用bjam(我使用b2),似乎暗示了我已经尝试过的东西等。设置VisualStudio10(我使用的是C++)boost版本:1.53.0初始安装:我关注了HowtouseBoostinVisualStudio2010(我走到了第二点4)。我没有下载正则表达式的ICU支持,因为我认为只有在需要Unicode支持时才需要它?我已通过更新“包含目录”并添加C:......\Boost\boost_1_53_

c++ - 未调用 boost SSL async_shutdown 完成处理程序

我将boost1.54.0与OpenSSL1.0.1e结合使用。不时关闭SSL连接对象时,我会看到async_shutdown()的完成处理程序不被调用。调试后我发现,当存在超出async_write()时会发生这种情况。SSLasync_shutdown()应该发送SSLAlert(Closing),因此我们这里有2次写入。我知道多个async_write()是被禁止的。我应该如何处理这种情况?我应该在调用SSLasync_shutdown()之前等待async_write()完成吗?编辑:根据this我可能需要在底层TCP套接字上使用cancel()来取消所有未完成的异步操作。是否

C++ Boost read_json 崩溃,我有#define BOOST_SPIRIT_THREADSAFE

最近其他人升级了我们的boost库,现在我在大量调用read_json函数时看到这个coredump。以前从未见过这个。而且我在代码中有#defineBOOST_SPIRIT_THREADSAFE,这就是为什么以前没有发生过这种情况。真的需要帮助!谢谢!程序终止,信号11,段错误。#00x00007f062ce0d094instd::mem_fun1_t>>,boost::spirit::classic::parser_context>>,boost::spirit::classic::grammar>>,boost::spirit::classic::parser_context>*

c++ - 线程安全有界队列在 Boost 1.54 中挂起

以下用于有界线程安全队列的代码曾经在Boost1.49中按预期工作。但是,在更新到Boost1.54后,代码不再按预期运行。即,当缓冲区为空(已满)时,消费者线程(生产者线程)永远等待m_not_empty(m_not_full)条件变量并且永远不会醒来(我认为是因为生产者线程没有互斥锁)。1.54版中是否有一些可能破坏代码的更改?或者,也许我遗漏了代码中的错误?#include#include#include#include#includetemplateclassbounded_buffer{public:bounded_buffer(size_tcapacity){cb.set_

c++ - boost::function 的默认构造函数是否有不抛出保证?

问题在标题中。我在引用文档中找不到信息。我不明白为什么默认构造函数会抛出异常,但我需要确保它不会抛出异常以正确记录我的异常保证。 最佳答案 参见http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp15443616-bb:它明确指出“不会抛出”。 关于c++-boost::function的默认构造函数是否有不抛出保证?,我们在StackOverflow上找到一个类似的问题:

c++ - boost asio : different thread pool for different tasks

网络上有很多关于创建简单线程池的示例,例如Sample1和Sample2虽然我想要实现的是为不同的任务提供一个单独的线程池。例如,应用程序可能有一个线程池用于处理传入的tcp连接(我们称之为网络池),而另一个线程池用于与数据库(数据库池)对话。这些传入的tcp请求可能需要来自数据库的信息。在这种情况下,它需要请求数据库池中的那些线程执行查询,并异步返回结果。是否有使用boost::asio的推荐方法?每个池都有一个io_service实例吗?这些线程应该如何相互通信(使用boost)?我明白要解释所有这些,代码不会那么短和琐碎,但如果可能的话,一些伪代码将不胜感激。谢谢!

c++ - 在 visual studio 2013 XP 工具集上构建 boost

我需要使用VS2013构建boost(1.55),但常规工具集(toolset=msvc-12.0)在XP上不起作用。XP有一个不同的工具集(您可以在VS本身中更改)。有谁知道我需要使用的工具集字符串才能使用msvc-12.0为XP编译boost?编辑:我正在使用b2.exe谢谢! 最佳答案 检查此链接:https://web.archive.org/web/20130208113614/http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx原始链接(失效):h

c++ - Boost::Asio,SSL 连接问题

几天来我一直试图解决我的问题,但就是无法解决问题。我尝试使用Boost::Asio库和OpenSSL建立SSL连接。有一个示例代码,如何执行此操作:http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp03/ssl/client.cpp它构建和运行良好,甚至验证似乎也有效,但是当我发送一个简单的请求时,很长一段时间没有任何反应,然后我收到一条错误消息:“读取失败:短读取”。我想,我只是把请求行本身做错了,但我不知道它是怎么回事。我尝试了以下两行:GET/HTTP/1.1Host:www.google.de

c++ - 提升 asio 同步与异步操作性能

这有点类似于boost::asioasyncperformance.由于该问题没有确定的答案,我发布了一个类似的问题,其中包含示例代码和统计数据来证明该问题。下面,我对同步和异步服务器应用程序进行了示例,它们在一个循环中连续向客户端发送25字节的消息。在客户端,我正在检查它能够以什么速率接收消息。示例设置非常简单。在同步服务器的情况下,它会为每个客户端连接生成一个新线程,并且该线程会循环发送25字节的消息。在异步服务器的情况下,它也会为每个客户端连接生成一个新线程,并且该线程使用异步写入在循环中不断发送25字节的消息(主线程是调用ioservice.run()).对于性能测试,我只使用

c++ - boost::thread 和 std::thread 兼容性问题?

我有一个关于将boost::threads与一些c++11标准项目混合和匹配的问题,这行得通吗?我实际上还没有测试任何东西,但我正在使用一个系统,该系统使用所有boost::threads和线程组以及中断功能,这些功能在标准中没有开箱即用,因此没有变化。我们的boost1.50版本没有最新的std::atomic和内存排序的东西。我想知道我是否可以将std::atomic和std::内存排序操作load/fectch_add等(获取/释放,放松)与boost线程一起使用,并获得与std::thread相同的结果。这些都是我linux机器上的pthreads,所以我认为答案是肯定的,我可