Networking TcpListener读取请求,但没有任何内容被发送回stream.write()

Networking TcpListener读取请求,但没有任何内容被发送回stream.write(),networking,tcp,rust,Networking,Tcp,Rust,我正试图让这个简单的TCP服务器发送回一个Hello!消息当它成功连接并在发送消息时将消息打印到控制台时,它不响应stream.write 如果我做stream=acceptor.accept,然后做stream.write,而不是acceptor.incoming,我就可以让它工作。否则,我无法向客户端发回消息。无法复制。如果我运行这个代码,然后http://0.0.0.0:8000/,我看到“你好!!”。Arch,64位,Rust master。什么操作系统?顺便说一句,您应该注意“未使用的

我正试图让这个简单的TCP服务器发送回一个Hello!消息当它成功连接并在发送消息时将消息打印到控制台时,它不响应stream.write


如果我做stream=acceptor.accept,然后做stream.write,而不是acceptor.incoming,我就可以让它工作。否则,我无法向客户端发回消息。

无法复制。如果我运行这个代码,然后http://0.0.0.0:8000/,我看到“你好!!”。Arch,64位,Rust master。什么操作系统?顺便说一句,您应该注意“未使用的结果必须使用”之类的警告。如果阅读或写作失败,它目前只会愉快地继续前进,而你可能想要的更像stream.readbuf.unwrap;和stream.writeresp_bytes.unwrap;。
use std::str::from_utf8;
use std::io::{TcpListener, TcpStream};
use std::io::{Acceptor, Listener};

fn main() {
    let listener = TcpListener::bind("0.0.0.0", 8000);

    let mut acceptor = listener.listen();

    fn handle_client(mut stream: TcpStream) {
        println!("Something's happening!");
        let resp_bytes = bytes!("Hello!!");

        let mut buf = [0u8, ..1024];

        stream.read(buf);
        stream.write(resp_bytes);

        let req = from_utf8(buf);
        println!("{}", req);
    }

    for stream in acceptor.incoming() {
        match stream {
            Err(e) => { println!("Something gone bad.") }
            Ok(stream) => spawn(proc() {
                handle_client(stream)
            })
        }
    }

    drop(acceptor);
}