如何从TcpStream中逐行读取



我正在遵循夜间文档中的制作一个简单的TCP服务器示例。我已经通过telnet连接,我希望看到数据逐行发送。现在我是read_to_string,只有在关闭telnet连接时才能获得数据。我希望能够在telnet会话中的用户点击enter后读取服务器上的每一行。

这是我在阅读BufferedReader的文档后得出的结论。

fn handle_client(mut stream: TcpStream) {
    let wresult = stream.write_line("Welcome.");
    match wresult {
        Err(e) => {
            println!("error writing: {}", e);
        }
        _ => {}
    }
    let mut reader = BufferedReader::new(stream);
    loop {
        let result = reader.read_line();
        match result {
            Ok(data) => {
                println!("{}", data.as_slice().trim());
            }
            Err(e) => {
                println!("error reading: {}", e);
                break;
            }
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新