J'ai un port bind() à d INADDR_ANY. Je reçois des datagrammes avec succès. Après réception, je dois lire l'en-tête IP pour obtenir l'adresse IP source.Comment puis-je obtenir l'adresse IP source à partir de l'en-tête IP d'un datagramme avec Winsock?
Q
Comment puis-je obtenir l'adresse IP source à partir de l'en-tête IP d'un datagramme avec Winsock?
1
A
Répondre
4
Je ne crois pas que vous puissiez l'obtenir si vous utilisez les appels de fonctions recv ou read standard. L'appel recvfrom comme suit:
int recvfrom(
__in SOCKET s,
__out char *buf,
__in int len,
__in int flags,
__out struct sockaddr *from,
__inout_opt int *fromlen
);
comprend une structure (le deuxième au dernier champ ci-dessus) qui recevra l'adresse source que vous pouvez examiner quelles qu'en soient les fins que vous désirez.