Ciao ragazzi,

sto scrivendo una sorta di network scanner ma ho un piccolo problema con questa funzione (o meglio, con il tempo di esecuzione della stessa)

char *Get_Host_By_Addr(char *Host_IP)
{
struct in_addr In_Addr;
struct hostent *Host;

In_Addr.s_addr = inet_addr( Host_IP );
Host = gethostbyaddr( (char *)&In_Addr, sizeof(In_Addr), AF_INET );
if ( Host == NULL )
return "";
else
return Host->h_name;
}

molto semplicemente passo l'IP e mi torna il nome host, molto banale.
Il problema è la lentezza. Mi torna il nome dopo 1, 2 secondi.

Pensate quando la ciclo su tutto il range di IP.

Come posso renderlo più rapido? se esiste un modo.

Grazie a tutti, Michele