diff options
Diffstat (limited to 'karld/src/interface/websocket.rs')
-rw-r--r-- | karld/src/interface/websocket.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/karld/src/interface/websocket.rs b/karld/src/interface/websocket.rs index e3207b6..e983e06 100644 --- a/karld/src/interface/websocket.rs +++ b/karld/src/interface/websocket.rs @@ -1,9 +1,8 @@ -use karlcommon::{ServerboundPacket, ProtoError}; +use karlcommon::{ServerboundPacket, ProtoError, ClientboundPacket, version}; use log::{debug, error, info}; use std::net::{TcpListener, TcpStream}; use std::thread; use tungstenite::{accept, Message}; - use crate::{handle_packet, CLIENT_ID_COUNTER}; pub fn run() { @@ -28,6 +27,12 @@ fn handle_connection(stream: Result<TcpStream, std::io::Error>) -> anyhow::Resul let mut websocket = accept(stream)?; let (responder, responses) = crossbeam_channel::unbounded(); + responder + .send(ClientboundPacket::Handshake { + version: version!(), + }) + .unwrap(); + loop { match websocket.read_message() { Ok(Message::Text(t)) => { |