diff options
Diffstat (limited to 'server')
| -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 }, | 
