处理udp启动逻辑

This commit is contained in:
anlicheng 2026-02-04 14:01:42 +08:00
parent b1c6b45f35
commit 3283c2ae61

View File

@ -172,10 +172,8 @@ actor SDLContextActor {
// udp // udp
let localAddress = udpHole.getLocalAddress() let localAddress = udpHole.getLocalAddress()
self.udpHole = udpHole // udpHole
await udpHole.channelIsActived() await udpHole.channelIsActived()
await self.handleUDPHoleReady()
// //
let pingTask = Task.detached { let pingTask = Task.detached {
@ -229,8 +227,19 @@ actor SDLContextActor {
} }
} }
self.udpHole = udpHole
self.udpHoleWorkers = [pingTask, dataTask, signalTask] self.udpHoleWorkers = [pingTask, dataTask, signalTask]
// nat
Task {
let natType = await self.proberActor.probeNatType(using: udpHole)
self.setNatType(natType: natType)
SDLLogger.shared.log("[SDLContext] nat_type is: \(natType)")
}
//
self.doRegisterSuper()
return udpHole return udpHole
} }
@ -256,23 +265,6 @@ actor SDLContextActor {
self.natType = natType self.natType = natType
} }
// super
private func handleUDPHoleReady() {
guard let udpHole = self.udpHole else {
return
}
// nat
Task {
let natType = await self.proberActor.probeNatType(using: udpHole)
self.setNatType(natType: natType)
SDLLogger.shared.log("[SDLContext] nat_type is: \(natType)")
}
//
self.doRegisterSuper()
}
private func sendStunRequest() { private func sendStunRequest() {
guard let sessionToken = self.sessionToken else { guard let sessionToken = self.sessionToken else {
return return