From 0812dc79b81a1c572864c28d655e493e508fdfcb Mon Sep 17 00:00:00 2001 From: 21pages Date: Mon, 18 Jul 2022 11:05:19 +0800 Subject: [PATCH] control end close message Signed-off-by: 21pages --- src/server/connection.rs | 4 ++++ src/ui/remote.rs | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/server/connection.rs b/src/server/connection.rs index 0481126c4..9c7025efc 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -1133,6 +1133,10 @@ impl Connection { Some(Instant::now().into()), ); } + Some(misc::Union::CloseReason(_)) => { + self.on_close("Peer close", true); + return false; + } _ => {} }, _ => {} diff --git a/src/ui/remote.rs b/src/ui/remote.rs index fc83a09a5..4d941e1f8 100644 --- a/src/ui/remote.rs +++ b/src/ui/remote.rs @@ -1633,6 +1633,11 @@ impl Remote { // log::info!("new msg from ui, {}",data); match data { Data::Close => { + let mut misc = Misc::new(); + misc.set_close_reason("".to_owned()); + let mut msg = Message::new(); + msg.set_misc(misc); + allow_err!(peer.send(&msg).await); return false; } Data::Login((password, remember)) => {