XMPP库与Boost.ASIO一起工作
XMPP library working with Boost.ASIO
我有一个用Boost.ASIO编写的程序。我正在寻找一个可以与之一起使用的C++ XMPP 客户端库,即一个已经使用 Boost.ASIO 并且公开其内部io_service实例的库,或者我可以使用我自己现有的 io_service 实例初始化,然后只需在我的io_service上调用 run()。
显然 Swiften (https://swift.im/swiften.html) 在内部使用 Boost,但我找不到任何关于如何获取内部io_service的示例。
有什么指示吗?
根据一些源代码片段,Swiften 在内部使用 Boost,但不是 ASIO 的一部分。它使用诸如shared_ptr
,boost::bind
,随机生成器等东西,但不使用boost::asio
。
据消息人士称,Swift::EventLoop
具有类似io_service
界面,但不使用它。
所以答案是:不,你不能从 Swiften 中提取io_service
,因为它不使用 boost::asio。
UPD:但是,你可以以异步方式在单独的线程中使用 Swiften,然后io_service::post
到你自己的 eventloop,但需要编写我们自己的包装器、完成处理程序等来管理它。
相关文章:
- 如何使我的 sizeof sum 结构与空参数包一起工作
- SFINAE:它如何与派生类一起工作?
- std::remove() 按预期处理文字,但不能与取消引用的迭代器一起工作
- 尝试让条形码扫描仪与Arduino一起工作
- 从书本中学习C++无法使该程序与类一起工作
- 让类与运算符一起工作更简单的方法
- 如何使lambda与std::nullopt一起工作
- 当我使用长整型时,我的代码不起作用,它与 int 一起工作得很好
- 返回对象如何与分配运算符一起工作
- GLM :: perspective()和glm :: lookat()一起工作
- SFML OpenGL:如何同时与他们一起工作
- 使QTConcurrent ::映射与Lambdas一起工作
- 如何与C 字符串中的非ASCII字符一起工作
- 我如何适应擦除式习惯与矢量元组一起工作
- 需要帮助使 VOID 代码与总工资一起工作
- 我怎样才能让这个刽子手代码与 wxDev-C++ 一起工作
- Googletest 在 bazel test 中永远不会失败(在它应该失败的地方),但与 cmake & clion 一起工作
- 常量变量初始化仅与成员初始化列表一起工作
- feal_ptr与unique_ptr一起工作
- OpenGL Ping Pong可与一张通行证一起工作,而不是两个通行证