Salve a tutti,
mi sto cimentando con i socket in c ed ho dei problemi con la funzione connect.
Devo inizializzare la struttura sockaddr_in per connettermi al server e per ottenere l'indirizzo di quest'ultimo trovo sempre questa dicitura:
codice:
struct hostent *hp;
hp = gethostbyname("xxx.it");
memcpy(&addr.sin_addr, hp->h_addr,4);
connect (socket,&addr,sizeof(addr));
la struttura hostent ha questa forma:
codice:
struct hostent{
char *h_name;
char **h_alias;
int h_addrtype;
int h_legth;
char **h_addr_list;
}
La mia domanda è: come fa a copiare, attraverso la memcpy, l'indirizzo del server con il campo hp->h_addr se questo non esiste? Nella struttura non c'è.
Se invece io già conosco l'indirizzo ip del server come faccio ad inserirlo nella struttura addr.sin_addr?