Comment trouver l'adresse IP de l'expéditeur d'un paquet udp qui a été reçu sur un périphérique exécutant iOS 3.2
ou supérieur?Comment identifier l'adresse IP de l'expéditeur d'un paquet udp reçu sur un appareil iOS?
Par exemple, si vous utilisez Python sur un ordinateur, j'utiliser SocketServer.UDPServer
qui prend une sous-classe de SocketServer.BaseRequestHandler
qui définit le rappel handle
. Lorsqu'un paquet arrive, le rappel est appelé et l'adresse IP de l'expéditeur est self.client_address
, où self
est l'instance SocketServer.BaseRequestHandler
.
Malheureusement, je ne sais pas comment extraire ces informations ou accéder à l'en-tête IP associé lors de la programmation en Objective C et en utilisant les frameworks fournis pour iOS. À l'heure actuelle, la seule solution que j'ai est d'écrire explicitement l'adresse IP de l'expéditeur sur le corps du paquet udp, mais je préfère ne pas compter sur l'expéditeur de mettre cette information là si je n'ai pas à le faire.
Remarque le paramètre fromAddr de recvfrom - c'est la partie intéressante. Il est rempli avec l'adresse/le port de l'expéditeur. –