Come posso ottenere l'indirizzo IP di origine dall'intestazione IP di un datagramma con Winsock?

StackOverflow https://stackoverflow.com/questions/347191

  •  19-08-2019
  •  | 
  •  

Domanda

Ho una porta che è bind () 'd in INADDR_ANY. Ricevo i datagrammi con successo. Dopo la ricezione, devo leggere l'intestazione IP per ottenere l'indirizzo IP di origine.

È stato utile?

Soluzione

Non credo che tu possa ottenerlo se stai usando le chiamate di funzione standard recv o read. La chiamata recvfrom come segue:

int recvfrom(
  __in         SOCKET s,
  __out        char *buf,
  __in         int len,
  __in         int flags,
  __out        struct sockaddr *from,
  __inout_opt  int *fromlen
);

include una struttura (dal penultimo campo in alto) che riceverà l'indirizzo sorgente che puoi esaminare per qualsiasi scopo tu desideri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top