Я пытаюсь прочитать данные из туннеля пакета NEPacketTunnelProvider.Сейчас я пытаюсь прочитать данные с помощью функции
self.packetFlow.readPackets { [weak self] (packets: [Data], protocols: [NSNumber]) in }
.Кажется, работает нормально.Но теперь я хочу прочитать пакеты, используя сетевой дескриптор функции self.packetFlow, например,
let tunFd = self.packetFlow.value(forKeyPath: "socket.fileDescriptor") as! Int32
и использовать этот файловый дескриптор для чтения данных пакета из туннеля.вот так
char *buffer1 = malloc(1024);
ssize_t length = read(tunFd, buffer1, 1024);
Но теперь, когда я читаю данные из сокета, вот так.Кажется, что данные не похожи на то, что я получаю ранее, используя self.packetFlow.
Кто-нибудь еще знает, почему это происходит?и что мне делать, чтобы получить те же данные, что и в self.packetFlow.readPackets ..
Любой указатель помощи будет оценен.