Update main.rs
This commit is contained in:
parent
3c9c877f60
commit
76d602bca2
41
src/main.rs
41
src/main.rs
@ -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. Соединение автоматически закрывается при выходе из области видимости
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user