хуйня 2

This commit is contained in:
GIKExe 2025-05-01 05:54:57 +03:00
parent b468d6cf12
commit 97b00dfc7e
2 changed files with 51 additions and 7 deletions

36
src/d.rs Normal file
View File

@ -0,0 +1,36 @@
use std::ops::Index;
pub enum BufferError {
EndOfBuffer
}
pub struct Buffer {
bytes: Vec<u8>,
index: usize
}
impl Buffer {
pub fn new(bytes: Vec<u8>, index: usize) -> Self {
Buffer { bytes, index }
}
pub fn read(&self, size: usize) -> Result<Vec<u8>, BufferError> {
if self.index + size >= self.bytes.len() {return Err(BufferError::EndOfBuffer);}
// self.index += size;
Ok(self.bytes[self.index..self.index+size-1].to_vec())
}
pub fn read2(&mut self, size: usize) -> Result<Vec<u8>, BufferError> {
if self.index + size >= self.bytes.len() {return Err(BufferError::EndOfBuffer);}
self.index += size;
Ok(self.bytes[self.index..self.index+size-1].to_vec())
}
}

View File

@ -1,17 +1,25 @@
mod data;
use data::{Packet, Server, Socket};
mod d;
use d::*;
use std::thread;
fn main() {
let Ok(server) = Server::new("127.0.0.1:25565") else {
println!("Не удалось забиндить сервер"); return;
};
let a = Buffer::new(vec![0x01,0xFF,0x33], 0);
let b = a;
let x = a.read(1);
let x2 = a.read(1);
loop {
let socket = server.accept();
thread::spawn(move || { handle_connection(socket); });
}
// let Ok(server) = Server::new("127.0.0.1:25565") else {
// println!("Не удалось забиндить сервер"); return;
// };
// loop {
// let socket = server.accept();
// thread::spawn(move || { handle_connection(socket); });
// }
}
fn handle_connection(socket: Socket) {