хуйня 2
This commit is contained in:
parent
b468d6cf12
commit
97b00dfc7e
36
src/d.rs
Normal file
36
src/d.rs
Normal 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())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
22
src/main.rs
22
src/main.rs
@ -1,17 +1,25 @@
|
|||||||
mod data;
|
mod data;
|
||||||
use data::{Packet, Server, Socket};
|
use data::{Packet, Server, Socket};
|
||||||
|
|
||||||
|
mod d;
|
||||||
|
use d::*;
|
||||||
|
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let Ok(server) = Server::new("127.0.0.1:25565") else {
|
let a = Buffer::new(vec![0x01,0xFF,0x33], 0);
|
||||||
println!("Не удалось забиндить сервер"); return;
|
let b = a;
|
||||||
};
|
let x = a.read(1);
|
||||||
|
let x2 = a.read(1);
|
||||||
|
|
||||||
loop {
|
// let Ok(server) = Server::new("127.0.0.1:25565") else {
|
||||||
let socket = server.accept();
|
// println!("Не удалось забиндить сервер"); return;
|
||||||
thread::spawn(move || { handle_connection(socket); });
|
// };
|
||||||
}
|
|
||||||
|
// loop {
|
||||||
|
// let socket = server.accept();
|
||||||
|
// thread::spawn(move || { handle_connection(socket); });
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_connection(socket: Socket) {
|
fn handle_connection(socket: Socket) {
|
||||||
|
Loading…
Reference in New Issue
Block a user