added implemetation of info command on te server
This commit is contained in:
parent
71fe467ca2
commit
b66fdd62b3
|
|
@ -2,6 +2,7 @@ pub mod client_management;
|
|||
|
||||
|
||||
use std::sync::{Arc, Weak, Mutex};
|
||||
use std::collections::HashMap;
|
||||
use std::net::TcpListener;
|
||||
use std::io::Write;
|
||||
use std::io::Read;
|
||||
|
|
@ -44,30 +45,38 @@ impl Server {
|
|||
impl ICooperative for Server{
|
||||
fn tick(&self) {
|
||||
|
||||
let mut buffer = vec![0; 1024];
|
||||
let mut buffer = vec![0; 64];
|
||||
|
||||
// get connections
|
||||
// handle new connections
|
||||
for connection in self.server_socket.incoming() {
|
||||
match connection {
|
||||
Ok(mut stream) => {
|
||||
let _ = stream.write(Commands::Request(None).to_string().as_bytes());
|
||||
let _ = stream.read(&mut buffer);
|
||||
stream.write_all(Commands::Request(None).to_string().as_bytes()).expect("error writing socket");
|
||||
stream.read_to_end(&mut buffer).expect("error reading sokcet");
|
||||
|
||||
println!("buffer: {:?}", &buffer);
|
||||
|
||||
let command = Commands::from(&mut buffer);
|
||||
|
||||
match command {
|
||||
Commands::Info(None) => {let _ = stream.write("todo".as_bytes());}
|
||||
Commands::Info(None) => {
|
||||
let server_config = vec![
|
||||
("name".to_string(), "Test server".to_string())
|
||||
];
|
||||
let map: HashMap<String, String> = server_config.into_iter().collect();
|
||||
stream.write_all(Commands::Success(Some(map)).to_string().as_bytes())
|
||||
.expect("error sending response");
|
||||
}
|
||||
Commands::Connect(Some(map)) => println!("connect command: {:?}", &map),
|
||||
|
||||
_ => {let _ = stream.write("not implemented!".as_bytes());}
|
||||
}
|
||||
|
||||
},
|
||||
_ => println!("!connection error occured!"),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// message loop
|
||||
// handle new messages loop
|
||||
for message in self.receiver.iter() {
|
||||
match message {
|
||||
ServerMessages::ClientConnected(client) => println!("client connected: {:?}", client),
|
||||
|
|
|
|||
Loading…
Reference in New Issue