我正在使用boost处理自定义tcp数据包。由于所有操作都是异步的,因此必须调用处理程序来处理数据。主要的问题是,当编译时大小未知时,我不知道如何将数据传递给处理程序?例如,假设您收到标题字节,解析它们会告诉您正文的长度:不知何故,我需要分配一个与主体大小相同的数组,然后调用处理程序(它是一个类成员,接收到头部信息后:boost::asio::async_read(_socket, b
在中,它为缓冲区声明“底层内存块的所有权由调用方保留,这必须保证它们在调用处理程序之前仍然有效”。为了做到这一点,我首先通过以下方法为缓冲区创建一个shared_ptr:boost::asio::write(socket, *request_buff_);'const_iterator': is not a mem