我读过Idiomatic way to handle writes to a TcpStream while waiting on read,但我仍然不确定如何处理这个问题。我通过Telnet连接到Rust二进制文件,并希望发送“命令”并接收“状态”。几乎就像一个简单的echo服务器。
答案 0 :(得分:1)
我结束了cloning the stream并且工作正常:
let second_stream = stream.try_clone().expect("Cannot clone stream");
let mut reader = BufferedReader::new(second_stream);
let mut writer = BufferedWriter::new(stream);
答案 1 :(得分:0)
只是Rust 1.1的更新,此方法不再有效。为了完成这项工作,我在写完服务器套接字时使用了stream.shutdown(Shutdown::Write)
。如果我不得不反复读取和写入相同的连接,我不知道如何做到这一点。