处理udp启动逻辑
This commit is contained in:
parent
b1c6b45f35
commit
3283c2ae61
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user