0
我想打印TcpStream的()由peer_addr返回的地址,但鏽給出了錯誤:無法顯示()由peer_addr返回SocketAddr
error: the trait
core::fmt::Display
is not implemented for the typecore::result::Result<std::net::addr::SocketAddr, std::io::error::Error>
[E0277] src/main.rs:29 format!("New client {}", stream.peer_addr());
按照documentation顯示實現。
代碼如下:
use std::net::{TcpListener, TcpStream};
use std::thread;
fn main()
{
let listener = TcpListener::bind("127.0.0.1:80").unwrap();
for stream in listener.incoming() {
match stream {
Ok(stream) => {
thread::spawn(move|| {
// connection succeeded
handle_client(stream)
});
}
Err(e) => {
println!("Accept err {}", e);
}
}
}
// close the socket server
drop(listener);
}
fn handle_client(stream: TcpStream) {
println!("New client {}", stream.peer_addr());
}