From d31586f0a4737dd76c49330d78697a014fcd180d Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Wed, 11 Mar 2026 12:24:50 +0800 Subject: [PATCH] =?UTF-8?q?fix=20register=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tun/Punchnet/Actors/SDLContextActor.swift | 1 + Tun/Punchnet/Actors/SDLPuncherActor.swift | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Tun/Punchnet/Actors/SDLContextActor.swift b/Tun/Punchnet/Actors/SDLContextActor.swift index dcf38d5..37ff6b9 100644 --- a/Tun/Punchnet/Actors/SDLContextActor.swift +++ b/Tun/Punchnet/Actors/SDLContextActor.swift @@ -161,6 +161,7 @@ actor SDLContextActor { await self.handleRegisterSuperNak(nakPacket: registerSuperNak) case .peerInfo(let peerInfo): SDLLogger.shared.log("[SDLContext] peer message: \(peerInfo)") + self.puncherActor.handlePeerInfo(using: self.udpHole, peerInfo: peerInfo) case .event(let event): await self.handleEvent(event: event) case .policyReponse(let policyResponse): diff --git a/Tun/Punchnet/Actors/SDLPuncherActor.swift b/Tun/Punchnet/Actors/SDLPuncherActor.swift index bb75868..6a4f1cb 100644 --- a/Tun/Punchnet/Actors/SDLPuncherActor.swift +++ b/Tun/Punchnet/Actors/SDLPuncherActor.swift @@ -37,14 +37,14 @@ actor SDLPuncherActor { Task { // 启动冷却期 - try? await Task.sleep(for: .seconds(5)) + try? await Task.sleep(for: cooldown) self.endCooldown(for: dstMac) self.removePendingRequest(for: pktId) } } - func handlePeerInfo(using udpHole: SDLUDPHole, peerInfo: SDLPeerInfo) async { - guard let request = pendingRequests.removeValue(forKey: peerInfo.pktID), + func handlePeerInfo(using udpHole: SDLUDPHole?, peerInfo: SDLPeerInfo) async { + guard let udpHole, let request = pendingRequests.removeValue(forKey: peerInfo.pktID), let remoteAddress = try? await peerInfo.v4Info.socketAddress() else { return }