Update main.rs

This commit is contained in:
GIKExe 2025-04-28 23:53:14 +03:00
parent 3c9c877f60
commit 76d602bca2

View File

@ -6,33 +6,36 @@ use data::VarInt;
#[tokio::main] #[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> { async fn main() -> Result<(), Box<dyn std::error::Error>> {
// // 1. Создаём TCP listener на порту 25565 // 1. Создаём TCP listener на порту 25565
// let listener = TcpListener::bind("127.0.0.1:25565").await?; let listener = TcpListener::bind("127.0.0.1:25565").await?;
// println!("Listening on port 25565..."); println!("Listening on port 25565...");
// // 2. Асинхронно принимаем входящие соединения // 2. Асинхронно принимаем входящие соединения
// while let Ok((stream, _)) = listener.accept().await { while let Ok((stream, _)) = listener.accept().await {
// // Для каждого соединения создаём отдельную задачу // Для каждого соединения создаём отдельную задачу
// tokio::spawn(handle_connection(stream)); tokio::spawn(handle_connection(stream));
// } }
Ok(()) Ok(())
} }
async fn handle_connection(mut stream: TcpStream) { async fn handle_connection(mut stream: TcpStream) {
let mut buffer = [0; 1024]; let mut firstByte = [0];
let Ok(n) = stream.read(&mut firstByte).await else { return };
// 3. Читаем данные из потока // let mut buffer = [0; 1024];
while let Ok(n) = stream.read(&mut buffer).await {
if n == 0 {
// Соединение закрыто
break;
}
// 4. Декодируем байты в UTF-8, пропуская ошибки // // 3. Читаем данные из потока
let received = String::from_utf8_lossy(&buffer[..n]); // while let Ok(n) = stream.read(&mut buffer).await {
print!("{}", received); // if n == 0 {
} // // Соединение закрыто
// break;
// }
// // 4. Декодируем байты в UTF-8, пропуская ошибки
// let received = String::from_utf8_lossy(&buffer[..n]);
// print!("{}", received);
// }
// 5. Соединение автоматически закрывается при выходе из области видимости // 5. Соединение автоматически закрывается при выходе из области видимости
} }