mirror of
https://github.com/szymon-jozef/checkers.git
synced 2026-10-27 19:20:44 +01:00
fix: dont freak out when client loses connection
This commit is contained in:
@@ -22,6 +22,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if buffer == "/test\n" {
|
||||||
|
buffer = String::from("A").repeat(1024 * 1024 * 2);
|
||||||
|
}
|
||||||
|
|
||||||
client.send_text_message(buffer.clone()).await;
|
client.send_text_message(buffer.clone()).await;
|
||||||
buffer.clear();
|
buffer.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ impl Client {
|
|||||||
ServerMessage::BroadcastCurrentTurn { active_player } => todo!(),
|
ServerMessage::BroadcastCurrentTurn { active_player } => todo!(),
|
||||||
ServerMessage::GameEnd { result } => todo!(),
|
ServerMessage::GameEnd { result } => todo!(),
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
error!("Connection broken");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -162,6 +162,17 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn read_content(&mut self, size_to_read: u32) -> Result<(), io::Error> {
|
async fn read_content(&mut self, size_to_read: u32) -> Result<(), io::Error> {
|
||||||
|
let max_size = 1024 * 1024 * 2;
|
||||||
|
|
||||||
|
if size_to_read > max_size {
|
||||||
|
error!(
|
||||||
|
"Message sent exeeds the limit. Sent {}, max: {}",
|
||||||
|
size_to_read, max_size
|
||||||
|
);
|
||||||
|
self.tcp = None;
|
||||||
|
return Err(io::ErrorKind::InvalidData.into());
|
||||||
|
}
|
||||||
|
|
||||||
let mut buff: Vec<u8> = vec![0; size_to_read as usize];
|
let mut buff: Vec<u8> = vec![0; size_to_read as usize];
|
||||||
|
|
||||||
let Some(tcp) = &mut self.tcp else {
|
let Some(tcp) = &mut self.tcp else {
|
||||||
|
|||||||
Reference in New Issue
Block a user