Skip to content

Instantly share code, notes, and snippets.

@KokaKiwi
Forked from anonymous/playground.rs
Last active September 2, 2016 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KokaKiwi/687e8b43cadaf7b337d8cd50e7d7b61b to your computer and use it in GitHub Desktop.
Save KokaKiwi/687e8b43cadaf7b337d8cd50e7d7b61b to your computer and use it in GitHub Desktop.
Shared via Rust Playground
use std::io::Read;
use std::net::{TcpListener, TcpStream};
use std::thread;
use std::str;
fn handle_client(mut stream: TcpStream) {
println!("{:?}, {:?}", stream.peer_addr(), stream.local_addr());
let mut buffer : [u8; 4048] = unsafe { ::std::mem::uninitialized() }; // Pourquoi faire un "buffer = " après? O_o
loop {
match stream.read(&mut buffer) {
Ok(size) => {
match str::from_utf8(&buffer[0..size]) { // str::from_utf8 c'est plus explicite à lire je trouve
Ok(blabla) => {
print!("{}", blabla);
}
Err(e) => {
println!("{:?}", e);
}
}
}
Err(e) => {
println!("{:?}", e);
}
}
}
}
fn main() {
let listener = TcpListener::bind("127.0.0.1:8000").unwrap();
for stream in listener.incoming() {
match stream {
Ok(stream) => {
thread::spawn(move|| {
handle_client(stream);
});
}
Err(e) => {
println!("{:?}", e);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment