diff --git a/tuic-client/src/connection.rs b/tuic-client/src/connection.rs index 16296ad..dadd728 100644 --- a/tuic-client/src/connection.rs +++ b/tuic-client/src/connection.rs @@ -393,12 +393,14 @@ impl Connection { loop { time::sleep(heartbeat).await; - let task_count = self.model.task_connect_count() + self.model.task_associate_count(); - - if self.is_closed() || task_count == 0 { + if self.is_closed() { break; } + if self.model.task_connect_count() + self.model.task_associate_count() == 0 { + continue; + } + match self.model.heartbeat().await { Ok(()) => {} Err(err) => eprintln!("{err}"),