在我的代码中,我设置了一个客户端和服务器套接字,以使用 asio 模拟两者之间的交互。不幸的是,我的 read() 出现了一些问题,我不完全确定我没有正确传递什么以及为什么。当我运行它时,它会无限期地等待。可能是我缺少的东西吗?
boost::asio::io_service ioservice;
tcp::acceptor acceptor(ioservice);
tcp::socket client(ioservice);
tcp::socket server(ioservice);
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 2222);
acceptor.open(endpoint.protocol());
acceptor.bind(endpoint);
acceptor.listen();
acceptor.async_accept(server, &acc_handle);
client.async_connect(endpoint, &conn_handle);
ioservice.run();
boost::asio::write(client, boost::asio::buffer("test"));
boost::asio::streambuf bfr;
boost::asio::read(client, bfr);
编辑:添加了处理程序,它们只是记录信息,所以我省略了它们的定义。