Echo server: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl 6}}: "async" is now "start")
No edit summary
Line 1,578: Line 1,578:
end
end
end</lang>
end</lang>

=={{header|Rust}}==
<lang rust>
use std::net::{TcpListener, TcpStream};
use std::io::{BufReader, BufRead, Write};
use std::thread;

fn main() {
let listener = TcpListener::bind("127.0.0.1:12321").unwrap();
println!("server is running on 127.0.0.1:12321 ...");
for stream in listener.incoming() {
let stream = stream.unwrap();
thread::spawn(move || handle_client(stream));
}
}

fn handle_client(stream: TcpStream) {
let mut stream = BufReader::new(stream);
loop {
let mut buf = String::new();
if stream.read_line(&mut buf).is_err() {
break;
}
stream
.get_ref()
.write(buf.as_bytes())
.unwrap();
}
}
</lang>


=={{header|Scheme}}==
=={{header|Scheme}}==