c++ - Boost::Asio 读/写操作

标签 c++ boost-asio

调用boost::asio::ip::tcp::socketread_some/write_some成员函数有什么区别并调用 boost::asio::read/boost::asio::write 自由函数?

更具体地说:

使用一个比另一个有什么好处吗?

为什么两者都包含在库中?

最佳答案

read_some 和 write_some 可能会在传输一个字节后立即返回。因此,如果您想确保获得所有数据,则需要循环 - 但这可能就是您想要的。

自由函数是 read_some 和 write_some 的包装器,根据重载有不同的终止条件。通常他们等待缓冲区完全传输(或发生错误,或者在某些重载中发生显式完成条件)

关于c++ - Boost::Asio 读/写操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1228362/

相关文章:

c++ - 如何在不清除屏幕和重写所有内容的情况下输出到控制台并覆盖文本?

c++ - 使用头文件的静态方法c++的GoogleTest

c++ - 从 std::enable_shared_from_this 和抽象基类派生可以吗?

c++ - boost::asio::yield_context:意外的 forced_unwind 异常

c++ - boost asio tcp 发送和接收教程

c++ - 向套接字发送数据导致异常

c++ - 读/写保护内存?

c++ - 使用 begin() 和 end() 迭代指针

c++ - 提升 this_thread interruptation_point not captured

通过 shared_ptr 访问写方法时 async_write 上的 C++ Boost.Asio 段错误