异步写方法一:
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
)
);