Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Terzo Anno
 Reti di Calcolatori
 gethostbyname fallisce sempre
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Capitan
Utente medio

Mix



Inserito il - 19/01/2011 : 20:41:29  Mostra Profilo  Visita l'Homepage di Capitan Invia a Capitan un Messaggio Privato  Rispondi Quotando
Il problema è evidente dall'oggetto.
Ci sono particolari situazioni che possono bloccare la risoluzione del nome di un host? su Win
se serve posso postare il codice... cmq credo sia corretto per due motivi 1 mi sono basato sulle dispense del prof 2 non mida alcun problema di compilazione. solo che la struct rimane sempre NULL.
Ciao Grazie

Capitan
Utente medio

Mix



Inserito il - 20/01/2011 : 17:57:21  Mostra Profilo  Visita l'Homepage di Capitan Invia a Capitan un Messaggio Privato  Rispondi Quotando
Aldo chiedo il tuo aiuto...
A te la gethostbyname funzionava sempre?
Perchè a me fallisce in ogni caso.
Torna all'inizio della Pagina

Capitan
Utente medio

Mix



Inserito il - 20/01/2011 : 18:20:09  Mostra Profilo  Visita l'Homepage di Capitan Invia a Capitan un Messaggio Privato  Rispondi Quotando
RISOLTO:
Questo codice che ho preso da msdn.microsoft.com da il codice di errore che si è verificato:

struct hostent *host;
host = gethostbyname(nomeHost);
if (host == NULL)
{
fprintf(stderr, "gethostbyname() failed.\n");
int dwError;
dwError = WSAGetLastError();
if (dwError != 0) {
if (dwError == WSAHOST_NOT_FOUND)
printf("Host not found\n");
else if (dwError == WSANO_DATA)
printf("No data record found\n");
else
printf("Function failed with error: %ld\n", dwError);

}
}

La chiamata alla funzione WSAGetLastError()
restituisce il codice di errore che nel mio caso si riferiva al fatto che non avevo inizializzato la win socket, o meglio lo avevo fatto subito dopo...
In ogni caso a parte l'errore banale, quel pezzettino di codice potrebbe essere utile in altri casi per capire la natura del fallimento ...
Ciao
Torna all'inizio della Pagina

alitoDV
Utente medio

studenti Indipendenti


Regione: Puglia
Prov.: Bari
Città: Palo del Colle


Inserito il - 31/01/2011 : 10:12:37  Mostra Profilo  Visita l'Homepage di alitoDV  Clicca per vedere l'indirizzo MSN di alitoDV Invia a alitoDV un Messaggio Privato  Rispondi Quotando
#ifdef WIN
// Initialize Winsock
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
printf("Error at WSAStartup()\n");
return 0;
{
#endif


cioè questa parte di codice l'0avevi inserita dopo aver fatto la gethost...()?

Cmq scusa se nn ti ho risposto prima ma nn stavo leggendo laureateci da un po'...

Aldo Campanelli
Rappresentante degli studenti CdL Informatica Triennale
CdF Scienze MM.FF.NN.
Spakkam tutt :D www.siamoindipendenti.com
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,2 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000