在Rust中读取和写入相同的TcpStream

时间:2016-08-26 22:23:48

标签: rust buffer

我有TcpStream通过在BufReader中缓冲接收到的行来打印出来。

use std::net::TcpStream;
use std::io::{BufReader, BufRead, Write, BufWriter};

fn main() {
    let stream = TcpStream::connect("irc.freenode.org:6667").unwrap();
    let mut line = String::new();
    let mut reader = BufReader::new(stream);

    // let mut writer = BufWriter::new(stream);  //Issues with moved value  `stream`

    loop {
        let _ = reader.read_line(&mut line);
        println!("{}", line);
        line = String::new();
    }
}

我希望能够使用BufWriter写入流,但遇到use of moved value 'stream'的问题。

如何在同一TcpStream上阅读和书写?

我知道有一个提供此功能的箱子,但我想了解如何自己做,因为我是Rust的新手。

1 个答案:

答案 0 :(得分:0)

您是否只是在寻找BufStream