我想根据写入流中的字节在数组中设置一个通用值(n)。现在我不知道缓冲区的确切长度,我只是创建一个硬编码数组来读取流字节。
use mio::net::TcpStream; ... let mut buf = [0;12]; stream.read_exact(&mut buf).unwrap();
我想交换12硬编码长度为字节长度(n),任何线索?
8ehkhllq1#
使用Read::read_to_end()。它不适用于非阻塞流,但只需使用tokio。使用tokio的read_to_end()的示例:
Read::read_to_end()
tokio
read_to_end()
async fn read_to_end(stream: &mut tokio::net::TcpStream) -> Vec<u8> { use tokio::io::AsyncReadExt; let mut data = Vec::new(); stream.read_to_end(&mut data).await.expect("read failed"); data }
1条答案
按热度按时间8ehkhllq1#
使用
Read::read_to_end()
。它不适用于非阻塞流,但只需使用tokio
。使用tokio
的read_to_end()
的示例: