From 07e8783008f105697c0cf69dfa52ac9780655737 Mon Sep 17 00:00:00 2001 From: Robert Hedman <robert.hedman@mac.com> Date: Sat, 25 Nov 2017 15:51:12 +0100 Subject: [PATCH] sync --- src/main.rs | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index a75e868..44a5cce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -94,19 +94,20 @@ fn main() { let server = thread::spawn(|| { let listener = TcpListener::bind("127.0.0.1:8080").unwrap(); let mut stream; - let mut message = [0u8; 13]; + let mut message = [0u8; 128]; match listener.accept() { Ok((socket, addr)) => { println!("server: new client: {:?}", addr); stream=socket; thread::sleep(time::Duration::new(1,0)); - //loop { + loop { match stream.read(&mut message) { Ok(msg) => {println!("server got: {:?}, local message: {}", msg, str::from_utf8(&message).unwrap()); - //stream.write(String::from("yo").as_bytes()).unwrap(); + let written_size = stream.write_all("Server says hi.\n".as_bytes()); + println!("server wrote_all {:?} to stream.", written_size); }, Err(e) => {println!("Some error in readToString in swerver: {}", e)}, } - //} + } }, Err(e) => println!("couldn't get client: {:?}", e), } @@ -121,11 +122,25 @@ fn main() { let written_size = stream.write_all("Main says hi.".as_bytes()); println!("main wrote_all {:?} to stream.", written_size); - //let mut message = String::with_capacity(127); - /*match stream.read_to_string(&mut message) { - Ok(m) => {println!("main got: {:?}", m)}, - Err(e) => {println!("Main could not read to string: {:?}", e);}, - };*/ + let mut stream_copy = stream.try_clone().unwrap(); + let mut c: u8 = 0; + for b in stream.bytes() { + match b { + Ok(byte) => {print!("{}", byte as char); + if c == 14 { + c = 0; + let _ = stream_copy.write_all("Hi Server, Me Main, got your message!".as_bytes()); + } + else { + c += 1; + } + + }, + Err(_) => {}, + } + } + + println!("Main wating for join."); mapper.join().unwrap(); -- GitLab