Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;:BOOST-ASIO async\u read\u有些不返回数据包字节数?_C++_Size_Byte_Boost Asio_Packet - Fatal编程技术网

C++ C++;:BOOST-ASIO async\u read\u有些不返回数据包字节数?

C++ C++;:BOOST-ASIO async\u read\u有些不返回数据包字节数?,c++,size,byte,boost-asio,packet,C++,Size,Byte,Boost Asio,Packet,我尝试使用以下代码读取套接字(服务器端)中的可用字节数,变量packet\u bytes没有任何作用。我希望数据包使用的字节数被读入packet\u bytes,但这似乎不起作用 std::size_t packet_bytes = 0; socket_.async_read_some(boost::asio::buffer(data_, max_length), boost::bind(&session::handle_read, this,

我尝试使用以下代码读取套接字(服务器端)中的可用字节数,变量
packet\u bytes
没有任何作用。我希望数据包使用的字节数被读入
packet\u 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\u t packet\u bytes=socket\uu.available()并且也没有返回任何内容。这是最新的

bind
调用中的
packet\u 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));
然后在处理函数中,该参数将是读取的字节数


例如,请参见。

中的示例,
bind
调用中的
packet\u 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));
然后在处理函数中,该参数将是读取的字节数


例如,请参见。

中的示例。该参数不是用于获取套接字中的字节吗?但是如何创建处理函数?@lost_with_coding好的,在重新阅读您的问题后,您似乎想知道可以读取的字节数,即接收缓冲区中的字节数,而不是你刚刚收到的字节数。是否正确?确切地说,我如何获取服务器接收到的数据包的字节数?@lost\u with\u coding是的,它会自动调用,但可能不是在调用
async\u read\u some
时,而是在接收到数据时(可能是任何时候)。该参数不是用于获取套接字中的字节吗?但是如何创建处理函数?@lost_with_coding好的,在重新阅读您的问题后,您似乎想知道可以读取的字节数,即接收缓冲区中的字节数,而不是刚接收的字节数。是否正确?确切地说,我如何获取服务器接收到的数据包的字节数?@lost\u with\u coding是的,它会自动调用,但可能不是在调用
async\u read\u some
时,而是在接收到数据时(可能是任何时候)。