|
|
@ -9,8 +9,20 @@ fn handle_connection(stream: TcpStream) -> io::Result<()> { |
|
|
let mut outstream = stream.try_clone()?; |
|
|
let mut outstream = stream.try_clone()?; |
|
|
let mut reader = io::BufReader::new(stream); |
|
|
let mut reader = io::BufReader::new(stream); |
|
|
let mut text = String::new(); |
|
|
let mut text = String::new(); |
|
|
reader.read_line(&mut text)?; |
|
|
let mut running = true; |
|
|
println!("got '{}'", text.trim_right()); |
|
|
let mut prot = protocol::Protocol::new(); |
|
|
|
|
|
|
|
|
|
|
|
while running { |
|
|
|
|
|
reader.read_line(&mut text)?; |
|
|
|
|
|
match prot.parse(&text) { |
|
|
|
|
|
Ok(response) => { |
|
|
|
|
|
outstream.write_all(response.as_bytes()); |
|
|
|
|
|
}, |
|
|
|
|
|
Err(e) => { |
|
|
|
|
|
outstream.write_all(e.as_bytes()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
outstream.write_all("hello from the server as well!".as_bytes())?; |
|
|
outstream.write_all("hello from the server as well!".as_bytes())?; |
|
|
Ok(()) |
|
|
Ok(()) |
|
|
} |
|
|
} |
|
|
|