2013-07-04 4 views
2

Dites, je lie 0.0.0.0 port X, écoutez-le, puis acceptez la nouvelle connexion.Obtenir la destination/si les adresses IP sont acceptées()?

Comment mon serveur peut-il trouver l'adresse IP de destination avec laquelle le client s'est connecté?

En outre, via quelle interface (en supposant serveur multirésident) le SYN est arrivé?

+0

Cochez cette case http://stackoverflow.com/questions/1824279/how-to-get-ip-address-from-sockaddr – VoidPointer

Répondre

2

L'appel getsockname() sur le socket renvoyé par accept() vous donnera l'adresse de l'extrémité locale de la connexion.

La meilleure façon de déterminer l'interface est probablement juste de faire correspondre l'adresse IP locale de getsockname() avec les adresses d'interface.

Questions connexes