Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Qual'è l'indirizzo IP principale?
Forum - C/C++ - Qual'è l'indirizzo IP principale?

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 21:41
Martedì, 23/03/2010
Salve a tutti. Ho trovato il seguente codice su internet per ottenere l'indirizzo IP della macchina sulla quale lo si esegue

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <winsock2.h>
  3. using namespace std;
  4. int doit(int, char **)
  5. {
  6.         char ac[80];
  7.         if (gethostname(ac, sizeof(ac)) == SOCKET_ERROR) {
  8.                 cerr << "Error " << WSAGetLastError() <<
  9.                                 " when getting local host name." << endl;
  10.                 return 1;
  11.         }
  12.         cout << "Host name is " << ac << "." << endl;
  13.  
  14.         struct hostent *phe = gethostbyname(ac);
  15.         if (phe == 0) {
  16.                 cerr << "Yow! Bad host lookup." << endl;
  17.                 return 1;
  18.         }
  19.  
  20.         for (int i = 0; phe->h_addr_list[i] != 0; ++i) {
  21.                 struct in_addr addr;
  22.                 memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
  23.                 cout << "Address " << i << ": " << inet_ntoa(addr) << endl;
  24.         }
  25.  
  26.         return 0;
  27. }
  28.  
  29. int main(int argc, char *argv[])
  30. {
  31.         WSAData wsaData;
  32.         if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
  33.                 return 255;
  34.         }
  35.  
  36.         int retval = doit(argc, argv);
  37.  
  38.         WSACleanup();
  39.  
  40.         return retval;
  41. }




Seccome restituisce più di un IP e tutti validi, mi chiedevo: il primo IP è sempre quello principale della macchina?


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:58
Martedì, 23/03/2010
Non esiste il concetto di "IP principale" ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 22:02
Martedì, 23/03/2010
Mi spieghi una cosa: fino a che ho trovato questo codice ero convinto una macchina avesse un solo indirizzo IP, ma come mai ce n'è piu di uno?


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:05
Martedì, 23/03/2010
Per mille motivi ... puoi avere più schede di rete ... ogni scheda di rete può avere più IP su cui il sistema risponde ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6198
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 22:35
Martedì, 23/03/2010
Come ha detto nessuno, non esiste un IP principale.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote