moved infinite loop back to server struct

This commit is contained in:
Mitchell 2020-07-13 21:50:13 +01:00
parent 69f192393d
commit e6f1b22782
1 changed files with 4 additions and 21 deletions

View File

@ -1,4 +1,5 @@
mod server;
// mod server_v2;
use crate::server::client::client_profile::Client;
use crate::server::server_profile::Server;
@ -10,26 +11,8 @@ use std::collections::HashMap;
fn main(){
let server_name = String::from("Server-01");
let server_address = String::from("0.0.0.0:6000");
let server_author = String::from("nope@live.co.uk");
let connected_clients: Arc<Mutex<HashMap<String,Client>>> = Arc::new(Mutex::new(HashMap::new()));
let server_owner = String::from("noreply@email.com");
let server = Arc::new(Server::new(&server_name, &server_address, &server_author, &connected_clients));
//server.start();
let listener = TcpListener::bind(server.get_address()).unwrap();
let pool = ThreadPool::new(10);
//stream.set_read_timeout(Some(Duration::from_millis(3000))).unwrap();
loop{
if let Ok((mut stream, addr)) = listener.accept(){
println!("Connected: {}", addr);
let server = Arc::clone(&server);
let connected_clients = Arc::clone(&connected_clients);
pool.execute(move || {
match server.establish_connection(stream){
Ok(mut client) => client.handle_connection(&server, &connected_clients),
Err(error) => println!("---connction to client failed---"),
}
});
}
}
let server = Server::new(&server_name, &server_address, &server_owner);
server.start();
}