求助 关于asio
  • 板块学术版
  • 楼主cygnus_beta
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/7/12 12:42
  • 上次更新2023/11/3 10:21:13
查看原帖
求助 关于asio
452531
cygnus_beta楼主2023/7/12 12:42

请问我应如何在一个形如boost::asio官方示例的异步tcp server中进行正确的交替的读/写操作

目前我的代码如下:

boost::asio::async_write(socket,boost::asio::buffer(msg),
[this](const boost::system::error_code& ec,std::size_t){
	if(!ec){
		boost::array<char,2> buf;
        boost::asio::async_read(socket,boost::asio::buffer(buf,2),[this,&buf](const boost::system::error_code& _ec,std::size_t){
			if(!_ec){
				std::cout<<"read end\n";
			}
			else throw boost::system::system_error(_ec);
		});
	}
    else throw boost::system::system_error(ec);
});

但当我运行时,我在运行async_read后,抛出了.what()为Bad file descriptor的system_error

请问我应如何正确编写这段代码以达到我的目的?

2023/7/12 12:42
加载中...