From 6fb01a0cb228b1aa08e47e8dbcd6b46c43bde06b Mon Sep 17 00:00:00 2001 From: tom barrett Date: Tue, 20 Feb 2018 09:51:10 -0600 Subject: -starting out --- src/bin/client.rs | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/bin/client.rs (limited to 'src/bin/client.rs') diff --git a/src/bin/client.rs b/src/bin/client.rs new file mode 100644 index 0000000..2dd4d7d --- /dev/null +++ b/src/bin/client.rs @@ -0,0 +1,50 @@ +use std::io; +use std::thread; +use std::io::BufReader; +use std::io::prelude::*; +use std::net::{TcpStream, Shutdown}; + +extern crate space; +use space::ship::Ship; + +extern crate serde_json; + +fn get_login_info() -> String { + let mut name = String::new(); + println!("Ship Name:"); + io::stdin().read_line(&mut name).expect("Failed"); + + let mut password = String::new(); + println!("Password:"); + io::stdin().read_line(&mut password).expect("Failed"); + + name.replace("\n", "") + ":" + &password +} + +fn main() { + let mut stream = TcpStream::connect("localhost:6000").unwrap(); + let mut buff_r = BufReader::new(stream.try_clone().unwrap()); + + let send = get_login_info(); + stream.write(send.as_bytes()); + + let mut data = String::new(); + buff_r.read_line(&mut data); + let modules : Vec<&str> = data.split(",").collect(); + + println!("Choose your module:"); + for (i, module) in modules.iter().enumerate() { + println!("{}) {}", i, module); + } + + let mut choice = String::new(); + io::stdin().read_line(&mut choice).expect("Failed"); + stream.write(choice.as_bytes()); + + let mut data = String::new(); + buff_r.read_line(&mut data); + let ship : Ship = serde_json::from_str(&data).unwrap(); + println!("{:?}", ship.location.0); + + stream.shutdown(Shutdown::Both); +} -- cgit v1.2.3