boost-asio

    2热度

    3回答

    我正在构建一个从客户端接收数据的异步单线程服务器。它处理数据,然后将其保存到MySQL数据库。 问题是,MySQL C API不支持非阻塞调用,而asio主要不喜欢阻塞调用。 所以我想像Python Twisted的deferToThread()这样的语义。有没有人开发过这样的东西?或者我应该执行它?

    3热度

    4回答

    Boost.Asio是一个伟大的库,但它有一个巨大的缺点 - 编译时间太慢。一个简单的HTTP协议实现(大约1k行代码)需要大约13.5s在GCC 4.4下编译! 我尝试使用PCH,但它不会提高编译时间(仅限于大约1秒)。 那么有没有关于如何使Boost.Asio编译时间更快的教程? 例如,我应该为什么类准确包含哪些标题。 我使用例如:io_service,tcp::ip::sockets,tcp

    6热度

    2回答

    是否可以从Boost.ASIO的套接字类中分离出本地套接字?如果是这样,该怎么办?我似乎无法在文档中找到任何明显的东西。 作为我想要完成的工作的一个快速概览:我有一个使用Boost.ASIO建立连接并进行一些协商的类,然后在成功时返回本机Windows SOCKET,或在失败时返回0。 除非我错了,否则当我的boost :: asio :: basic_socket被销毁时,原生套接字将被关闭并解

    3热度

    1回答

    看来,自1.40.0上调以来,async_read_some()调用的方式发生了变化。你可以传入一个null_buffer,当有数据需要读取时,你会得到一个回调,但没有框架读取数据到任何缓冲区(因为没有一个!)。这基本上允许你编写代码,它的行为就像一个select()的调用,在那里你会被告知你的套接字什么时候有一些数据。 在新代码的行为已更改以下列方式工作: 如果所有缓冲区中的顺序MB总大小为0,

    3热度

    1回答

    boost :: asio软件包包含使用IO完成端口在Windows中执行异步文件io的类。据我了解,asio包中包含的其他平台不支持异步文件io。 我想知道为了扩展异步文件io支持至少需要Mac OS X,但在某种程度上Linux还需要做些什么。我最感兴趣的是需要在asio方面做些什么,但由于我不是那么熟悉Mac OS X编程,我不介意在哪里可以找到更多关于如何执行异步文件io的信息的指针Mac

    5热度

    1回答

    我对cMake比较陌生,而且我正在尝试在我的项目中使用boost asio库。 我能得到的CMake寻找其他Boost库如smart_ptr和lexical_cast的,但我得到一个链接错误,当我尝试包括boost/asio.hpp: LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-1_40.lib'.

    2热度

    1回答

    我很新的提升。我需要一个跨平台的低级C++网络API,所以我选择了asio。现在,我已成功连接并写入套接字,但由于我正在使用异步读/写,因此我需要一种跟踪请求的方法(如果您愿意,可以使用某种ID)。我查看过文档/参考资料,但是我发现没有办法将用户数据传递给我的处理程序,我能想到的唯一选择是创建一个特殊的类作为回调并跟踪它的id,然后传递它作为回调到套接字。有没有更好的办法?或者是做到这一点的最佳方

    4热度

    2回答

    我想为async_write提供一个额外的boost :: function。我想要连接自己的HandleWrite函数先被调用,然后调用提供的boost :: function。结合连接的 会员方法ASIO ASYNC_WRITE void Connection::HandleWrite( const boost::system::error_code& e, boost::f

    6热度

    2回答

    有一个功能Boost.Asio的插座分配,但是我正在寻找类似 发布/取消分配这会将套接字的所有权转交给用户。 或 某种类型的分配,不会将所有权转让给Socket类的,就这么被毁了,当它不会关闭它。 我知道this solution但它涉及复制套接字(即创建新的描述符,而不是释放一个)。 有谁知道这怎么办? 编辑:没有这样的功能,开辟票Boost.Asio的https://svn.boost.org

    17热度

    2回答

    如果发现这句话在boost.org: More Boost libraries are in the pipeline for TR2 它链接到TR2 call from proposals。但是我似乎无法找到有关哪些增强库正朝向TR2的任何其他信息。 我已经看到了Boost.Asio的提案草案,我隐约记得看到有关Boost.System和Boost.Filesystem的提议。 哪些boost库