Как узнать IP-адрес отправителя пакета udp, который был получен на устройстве с iOS 3.2
или выше?Как идентифицировать ip-адрес отправителя пакета udp, полученного на устройстве iOS?
Например, если с помощью Python на компьютере, я бы использовал SocketServer.UDPServer
, который принимает подкласс SocketServer.BaseRequestHandler
который определяет handle
обратного вызова. Когда приходит пакет, вызывается обратный вызов и ip-адрес отправителя находится в self.client_address
, где self
является экземпляром SocketServer.BaseRequestHandler
.
К сожалению, я не знаю, как извлечь эту информацию или получить доступ к связанному заголовку ip при программировании в Objective C и с использованием фреймворков, предоставляемых для iOS.
Прямо сейчас единственное решение, которое у меня есть, - это явно написать ip-адрес отправителя в теле пакета udp, но я бы предпочел не полагаться на отправителя, помещая эту информацию там, если мне это не нужно.
Примечание: recvfrom's fromAddr parameter - это интересная деталь. Он заполняется адресом/портом отправителя. –