Cioè devo mettere "AF_INET" al posto di "0"? non sto capendo..Originariamente inviato da MItaly
Hai letto la manpage di gethostbyaddr? L'ultimo parametro di gethostbyaddr dev'essere AF_INET per indirizzi IPv4. Per questo probabilmente gethostbyaddr ti restituisce NULL (a segnalare un errore) e di conseguenza memcpy va in segfault.
Scrivendo così:
La printf mi stampacodice:unsigned long ip = inet_addr("127.0.0.1"); struct hostent *host = gethostbyaddr((char *)&ip,4,AF_INET); memcpy((char *)&echoServAddr.sin_addr, (char *)host->h_addr_list[0], 4); char* canonical_name = host->h_name; printf("Mi sto collegando all'ip: %d ovvero a: %s\n\n",ip, canonical_name);
Forse essendo un long non devo mettere %d? e che cappero centra sto sito di adobe? La cosa strana è che al server risulta collegato, a dirla tutta anche se non assegno nessun ip si collega comunque al server, forse lo prende come indirizzo di default localhost? mbhoc.codice:Mi sto collegando all'ip: 16777343 ovvero a: ereg.adobe.com


Rispondi quotando