处理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
let localAddress = udpHole.getLocalAddress()
self.udpHole = udpHole
// udpHole
await udpHole.channelIsActived()
await self.handleUDPHoleReady()
//
let pingTask = Task.detached {
@ -229,8 +227,19 @@ actor SDLContextActor {
}
}
self.udpHole = udpHole
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
}
@ -256,23 +265,6 @@ actor SDLContextActor {
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() {
guard let sessionToken = self.sessionToken else {
return