Real user disconnection management
This commit is contained in:
parent
0a2aba9619
commit
bf32298884
@ -54,7 +54,7 @@ fn handle_player(mut stream: UnixStream, server: Server) {
|
|||||||
Ok((player, player_turn)) => main_loop(&mut stream, &server, player, player_turn),
|
Ok((player, player_turn)) => main_loop(&mut stream, &server, player, player_turn),
|
||||||
Err(e) => println!("User id {} could not be initialized: {}", server.id, e),
|
Err(e) => println!("User id {} could not be initialized: {}", server.id, e),
|
||||||
};
|
};
|
||||||
player_disconnected();
|
player_disconnected(&server);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn initialize_client(
|
fn initialize_client(
|
||||||
@ -197,9 +197,7 @@ fn receive_user_role(
|
|||||||
if available_roles_after_choice.contains(&chosen_role) {
|
if available_roles_after_choice.contains(&chosen_role) {
|
||||||
println!("OK");
|
println!("OK");
|
||||||
clichess::write_to_stream(stream, String::from("OK")).unwrap();
|
clichess::write_to_stream(stream, String::from("OK")).unwrap();
|
||||||
|
clichess::read_line_from_stream(stream).expect("Player closed connection.");
|
||||||
let get_confirmation =
|
|
||||||
clichess::read_line_from_stream(stream).expect("Player closed connection.");
|
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
println!("KO");
|
println!("KO");
|
||||||
@ -227,6 +225,8 @@ fn compute_available_roles_to_str(server: &Server) -> String {
|
|||||||
available_roles_str.join(",")
|
available_roles_str.join(",")
|
||||||
}
|
}
|
||||||
|
|
||||||
fn player_disconnected() {
|
fn player_disconnected(server: &Server) {
|
||||||
|
let mut players = server.players.lock().unwrap();
|
||||||
|
players.remove(&server.id);
|
||||||
println!("Player disconnected.");
|
println!("Player disconnected.");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user