我正在尝试异步Web 套接字服务器的 Boost Beast 示例-客户端
我正在运行服务器和客户端,如下所示,
server.exe 127.0.0.1 4242 1
client.exe 127.0.0.1 4242 "Hello"
如果一切正常,我相信它应该在服务器命令提示符上打印“Hello”
下面是代码
void
on_read(
beast::error_code ec,
std::size_t bytes_transferred)
{
boost::ignore_unused(bytes_transferred);
// This indicates that the session was closed
if (ec == websocket::error::closed)
return;
if (ec)
fail(ec, "read");
// Echo the message
ws_.text(ws_.got_text());
std::cout << "writing received value " << std::endl;
ws_.async_write(
buffer_.data(),
beast::bind_front_handler(
&session::on_write,
shared_from_this()));
std::cout << buffer_.data().data()<< std::endl;
}
ws_.write() 没有在 console 上写任何东西,但是 buffer_data.data() 呈现
00000163E044EE80
我如何确保这一切正常?如何从套接字缓冲区中检索字符串值?