Discussione: [c++] indirizzo ip
View Single Post
Old 14-01-2010, 20:34   #5
jangy22xx
Member
 
L'Avatar di jangy22xx
 
Iscritto dal: Jul 2006
Messaggi: 108
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
attenzione. questo non è sufficiente, la funzione ritorna solo l'hostName del pc locale...
"The gethostname function retrieves the standard host name for the local computer."

i modi sono più di uno...
in C++, probabilmente le librerie che usi hanno una classe che lo può fare, cmq questo è un esempio che va bene anche per il C++:

Codice:
// *** Windows ***
/* Un esempio per ricavare l'indirizzo IP della macchina locale */
 
#include <iostram.h>
#include <winsock.h>

int require()
{
      char ac[80];//Il nome
      //Prendo il nome host locale:
      if(gethostname(ac,sizeof(ac)) == SOCKET_ERROR) {
            cerr << "Error" << WSAGetLastError() << 
            "quando si e' tentato di recuperare il nome host locale." << endl;
            return 1;
      }
      //Recupero l'indirizzo dal nome host:
      cout << "Il nome dell'host e':" << ac << "." << endl;
      struct hostent *phe = gethostbyname(ac);
      if(phe == 0) {
            cerr << "L'host utilizzato per il lookup non e' valido" << endl;
            return 1;
      }
      //Questo ciclo for stampa tutti gli indirizzi associati all'host
      //che possono essere più di uno, prelevandoli dalla struttura ritornata:
      for(int i = 0; phe->h_addr_list[i] != 0; ++i) {
            struct in_addr addr;
            memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
            cout << "Indirizzo: " << i << ":" << inet_ntoa(addr) << endl;
      }
      return 0;
}


grazie mille ora lo provo....ma dove l'hai trovato?
__________________
over the clock OVERCLOCK YOUR PC
jangy22xx è offline   Rispondi citando il messaggio o parte di esso