如何在TcpStream上处理并行读写?

时间:2014-10-29 02:15:32

标签: tcp stream telnet rust

我读过Idiomatic way to handle writes to a TcpStream while waiting on read,但我仍然不确定如何处理这个问题。我通过Telnet连接到Rust二进制文件,并希望发送“命令”并接收“状态”。几乎就像一个简单的echo服务器。

2 个答案:

答案 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)。如果我不得不反复读取和写入相同的连接,我不知道如何做到这一点。

相关问题