Расшифруйте ответный пакет SimplePing в Swift

Я использую образец SimplePing от Apple для проверки связи с хостом, который успешно получил ответ от делегата фреймворка

 func simplePing(pinger: SimplePing!, didReceivePingResponsePacket packet: NSData!)

Который я изо всех сил пытался найти способ декодировать пакетные данные (например, получить имя хоста, IP)

Я знаю, что это что-то в CFNetwork, но я просто не могу найти правильный способ чтения данных, надеюсь, кто-то может помочь.

2 ответа

Если кто и наткнется на эту тему, как и я. Имя хоста или IP-адрес можно найти в свойстве pinger. Если это то, что вы ищете.

Пример:

      func simplePing(_ pinger: SimplePing, didReceivePingResponsePacket packet: Data, sequenceNumber: UInt16) {
    print("Host: \(pinger.hostName)")
}

В примере представлен метод icmpInPacket, который возвращает разбитую структуру. Используйте это.:-)

Другие вопросы по тегам