diff --git a/NearbyShare/Connection/NearbyConnection.swift b/NearbyShare/Connection/NearbyConnection.swift index ced5bb1..a4b5760 100644 --- a/NearbyShare/Connection/NearbyConnection.swift +++ b/NearbyShare/Connection/NearbyConnection.swift @@ -657,7 +657,7 @@ class NearbyConnection { return } - if lastKeepAliveFrameSent.isOlderThan(seconds: ackInterval) { + if encryptionDone && lastKeepAliveFrameSent.isOlderThan(seconds: ackInterval) { sendKeepAlive(ack: false) } diff --git a/NearbyShare/Connection/OutboundNearbyConnection.swift b/NearbyShare/Connection/OutboundNearbyConnection.swift index 9a76cd6..df4d865 100644 --- a/NearbyShare/Connection/OutboundNearbyConnection.swift +++ b/NearbyShare/Connection/OutboundNearbyConnection.swift @@ -307,10 +307,7 @@ class OutboundNearbyConnection: NearbyConnection { guard frame.hasV1, frame.v1.hasType else { throw NearbyError.requiredFieldMissing("offlineFrame.v1.type") } if frame.v1.type == .keepAlive { - log("[OutboundNearbyConnection \(self.id)] Received keep-alive while waiting for connection response") - if frame.v1.hasKeepAlive, !frame.v1.keepAlive.ack { - sendKeepAlive(ack: true) - } + log("[OutboundNearbyConnection \(self.id)] Ignoring keep-alive while waiting for connection response") return }