diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-17 00:30:38 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-17 00:30:38 +0200 |
commit | e37231630488e5b54741d68edc45890a62c5610d (patch) | |
tree | 8be6237564176635a7f5d323d1fb5e417f9b8119 /server/src | |
parent | dd4b88a86a99f028bdfe66fef3c66170629f3cdc (diff) | |
download | hurrycurry-e37231630488e5b54741d68edc45890a62c5610d.tar hurrycurry-e37231630488e5b54741d68edc45890a62c5610d.tar.bz2 hurrycurry-e37231630488e5b54741d68edc45890a62c5610d.tar.zst |
client connects and can speak proto
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/main.rs | 13 | ||||
-rw-r--r-- | server/src/protocol.rs | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index 0987e9ef..763ff03b 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -52,6 +52,11 @@ async fn main() -> Result<()> { let mut rx = rx.resubscribe(); info!("{addr} connected"); spawn(async move { + write + .write_all(serde_json::to_string(&PacketC::Joined { id }).unwrap().as_bytes()) + .await + .unwrap(); + write.write_all(b"\n").await.unwrap(); while let Ok(packet) = rx.recv().await { write .write_all(serde_json::to_string(&packet).unwrap().as_bytes()) @@ -70,7 +75,6 @@ async fn main() -> Result<()> { }); } r = ws_listener.accept() => { - // let (sock, addr) = ws_listener.accept().await?; let (sock, addr) = r?; let sock = tokio_tungstenite::accept_async(sock).await?; let (mut write, mut read) = sock.split(); @@ -78,6 +82,12 @@ async fn main() -> Result<()> { let mut rx = rx.resubscribe(); info!("{addr} connected via ws"); spawn(async move { + write + .send(tokio_tungstenite::tungstenite::Message::Text( + serde_json::to_string(&PacketC::Joined { id }).unwrap(), + )) + .await + .unwrap(); while let Ok(packet) = rx.recv().await { write .send(tokio_tungstenite::tungstenite::Message::Text( @@ -97,6 +107,5 @@ async fn main() -> Result<()> { } } } - Ok(()) } diff --git a/server/src/protocol.rs b/server/src/protocol.rs index 93d2afe9..dc2af7d6 100644 --- a/server/src/protocol.rs +++ b/server/src/protocol.rs @@ -21,6 +21,7 @@ pub enum PacketS { #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum PacketC { + Joined { id: ID }, AddPlayer { id: ID, name: String }, RemovePlayer { id: ID }, Position { player: ID, pos: Vec2, rot: f32 }, |