Расшифруйте ответный пакет 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, который возвращает разбитую структуру. Используйте это.:-)