我读过在等待读取时处理对TcpStream的写入的Idiomatic方法,但我仍然不确定如何处理。我正在通过Telnet连接到Rust二进制文件,并希望发送"命令"和接收"状态"。几乎就像一个简单的回声服务器。
我最终克隆了流,它运行良好:
let second_stream = stream.try_clone().expect("Cannot clone stream");
let mut reader = BufferedReader::new(second_stream);
let mut writer = BufferedWriter::new(stream);
只是Rust 1.1的更新,此方法不再有效。为了实现这一点,我在完成对服务器套接字的写入时使用了stream.shutdown(Shutdown::Write)
。如果我必须从同一个连接点反复阅读和写作,我不知道我会怎么做。