boost TCP 异步读/写操作 函数接口

本文介绍了使用Boost ASIO库进行TCP连接的异步读写操作,包括两种异步写方法和两种异步读方法。通过示例代码展示了如何设置回调函数处理数据传输完成后的事件。
异步写方法一:
boost::asio::io_service ioservice;
boost::asio::ip::tcp::socket m_socket(ioservice);

// 写到对端数据是:"link successed!"
boost::asio::async_write(
     m_socket,     // 与对端通信的连接描述符
     boost::asio::buffer("link successed!"),     // 写到对端的数据
     boost::bind(     // 写完数据后的回调函数
          &clientSession::handle_write,
          shared_from_this(),
          boost::asio::placeholders::error
     )
);

异步写方法二:
m_socket.async_write_some(
     boost::asio::buffer("write something"),
     boost::bind(
          &clientSession::handle_write,
          shared_from_this(),
          boost::asio::placeholders::error
     )
);


异步读方法一:
// 读取数据保存到char data[len] 中,最多len 长度
boost::asio::async_read(
     m_socket,
     boost::asio::buffer(data, len),     // 读取到的数据存到data 所指向的内存空间中
     boost::bind(handle_read)
);


异步读方法二:
m_socket.async_read_some(
     boost::asio::buffer(m_data, max_len),
     boost::bind(
          &clientSession::handle_read,
          shared_from_this(),
          boost::asio::placeholders::error
     )
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值