gpt4 book ai didi

C++:BOOST-ASIO async_read_some 不返回数据包字节数?

转载 作者:行者123 更新时间:2023-11-28 00:47:18 26 4
gpt4 key购买 nike

我尝试使用以下代码读取套接字中的可用字节数(在服务器端),变量 packet_bytes 没有做任何事情。我期望将数据包使用的字节数读入 packet_bytes 但这似乎不起作用。

std::size_t packet_bytes = 0;

socket_.async_read_some(boost::asio::buffer(data_, max_length),
boost::bind(&session::handle_read, this,
boost::asio::placeholders::error,
packet_bytes));

我也试过 std::size_t packet_bytes = socket_.available(); 也没有返回任何东西。这是 entire code .

最佳答案

bind 调用中的 packet_bytes 参数也应该是一个占位符:

socket_.async_read_some(boost::asio::buffer(data_, max_length),
boost::bind(&session::handle_read, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));

然后在您的处理程序函数中,该参数将是读取的字节数。

参见例如manual 中的示例.

关于C++:BOOST-ASIO async_read_some 不返回数据包字节数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15829061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com