This commit is contained in:
anlicheng 2025-08-05 15:15:15 +08:00
parent 1e74de12aa
commit bd10ea9b99
3 changed files with 16 additions and 18 deletions

View File

@ -68,7 +68,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
Task { Task {
do { do {
self.context = SDLContext(provider: self, config: config, rsaCipher: rsaCipher, aesCipher: aesChiper, logger: SDLLogger(level: .warning)) self.context = SDLContext(provider: self, config: config, rsaCipher: rsaCipher, aesCipher: aesChiper, logger: SDLLogger(level: .debug))
try await self.context?.start() try await self.context?.start()
completionHandler(nil) completionHandler(nil)
} catch let err { } catch let err {

View File

@ -29,15 +29,18 @@ struct SystemConfig {
guard let superIp = DNSResolver.resolveAddrInfos(superHost).first else { guard let superIp = DNSResolver.resolveAddrInfos(superHost).first else {
return nil return nil
} }
let options = [
return [
"version:": version as NSObject, "version:": version as NSObject,
"installed_channel": installedChannel as NSObject, "installed_channel": installedChannel as NSObject,
"token": token as NSObject, "token": token as NSObject,
"super_ip": superIp as NSObject, "super_ip": "118.178.229.213" as NSObject,
"super_port": superPort as NSObject, "super_port": superPort as NSObject,
"stun_servers": stunServers as NSObject "stun_servers": stunServers as NSObject
] ]
print("options: \(options)")
return options
} }
} }

View File

@ -15,7 +15,7 @@ final class UDPNoticeCenterServer: ChannelInboundHandler {
public typealias OutboundOut = AddressedEnvelope<ByteBuffer> public typealias OutboundOut = AddressedEnvelope<ByteBuffer>
private var group: MultiThreadedEventLoopGroup? private var group: MultiThreadedEventLoopGroup?
private var thread: Thread? private var channel: Channel?
var messageFlow = PassthroughSubject<NoticeMessage.InboundMessage, Never>() var messageFlow = PassthroughSubject<NoticeMessage.InboundMessage, Never>()
static let shared = UDPNoticeCenterServer() static let shared = UDPNoticeCenterServer()
@ -25,22 +25,17 @@ final class UDPNoticeCenterServer: ChannelInboundHandler {
} }
func start() { func start() {
self.thread = Thread { self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1) let bootstrap = DatagramBootstrap(group: self.group!)
let bootstrap = DatagramBootstrap(group: self.group!) .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1)
.channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) .channelInitializer { channel in
.channelInitializer { channel in channel.pipeline.addHandler(self)
channel.pipeline.addHandler(self) }
}
let channel = try! bootstrap.bind(host: "127.0.0.1", port: 50195).wait() self.channel = try! bootstrap.bind(host: "127.0.0.1", port: 50195).wait()
try! channel.closeFuture.wait()
}
self.thread?.start()
} }
func stop() { func stop() {
self.thread?.cancel()
try? self.group?.syncShutdownGracefully() try? self.group?.syncShutdownGracefully()
} }