[WinSock, Windows] Pobieranie IP
Ostatnio zmodyfikowano 2011-09-06 19:04
Mrovqa Temat założony przez niniejszego użytkownika |
[WinSock, Windows] Pobieranie IP » 2011-09-05 20:06:37 Witam! Tak jak w temacie - chcę pobrać IP za pomocą WinSock pod windowsem. Konkretnie: nie mam żadnego gniazda i chcę zdobyć adres IP komputera, z którego odpalono aplikację. (Chcę wypisać ten adres :D). Jak tego dokonać? Szukałem, ale tym razem coś mi nie wychodzi... (coś widziałem na MSDN, ale trza było linkować dodatkową bibliotekę). /edit: troszkę zmienić frazę w google... :P mam coś takiego: #include <iostream> #include <winsock.h> using namespace std;
int doit( int, char ** ) { char ac[ 80 ]; if( gethostname( ac, sizeof( ac ) ) == SOCKET_ERROR ) { cerr << "Error " << WSAGetLastError() << " when getting local host name." << endl; return 1; } cout << "Host name is " << ac << "." << endl; struct hostent * phe = gethostbyname( ac ); if( phe == 0 ) { cerr << "Yow! Bad host lookup." << endl; return 1; } 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 << "Address " << i << ": " << inet_ntoa( addr ) << endl; } return 0; }
int main( int argc, char * argv[] ) { WSAData wsaData; if( WSAStartup( MAKEWORD( 1, 1 ), & wsaData ) != 0 ) { return 255; } int retval = doit( argc, argv ); WSACleanup(); cin.get(); return retval; } I problem taki: IP się różnią!Możliwe że tak powinno być (nie jestem może doinformowany :D). Chodzi mi o zdobycie adresu IP takiego: na moim komputerze włączam serwer (i właśnie IP z komputera pobieram i wstukuje jako serwera), a potem go wypisuje (żeby wiedzieć co klientowi wpisać; user wprowadza). Stronka MojeIp.net czy moja aplikacja ma raczej rację ? ;] Dzięki za poświęcony czas i uwagę! Pozdrawiam, Mrowqa |
|
Drraven |
» 2011-09-05 20:39:44 Co pisze się wirusa :D? Ja jak się bawiłem w taki komunikator na informatyce to zrobiłem stronę na której był wyświetlany tylko adres ip, potem pobierałem to cURLem pakowałem w stringa i wiola. Ale wiem, że istnieje pewnie lepszy sposób :D |
|
Mrovqa Temat założony przez niniejszego użytkownika |
» 2011-09-05 20:44:29 Nie, nie wirusa :D Tylko pierwszy program w WinSock i chcę znać IP i port (żeby wypisać, żeby wiedzieć co klientowi wstukać). Póki co puszczałem to na hoście lokalnym (127.0.0.1). |
|
m4tx |
» 2011-09-05 20:46:45 Różnią się, a to dlatego, że masz prywatne IP :P |
|
Drraven |
» 2011-09-05 20:50:22 Może to przez ip zewnętrzne/wewnętrzne (mi wszystkie wyglądają na zew.). A może jeden adres to adres komputera, drugi to adres rutera (czy co tam gość ma) a ten z strony to adres z przeglądarki bo masz proxy :D? |
|
malan |
» 2011-09-05 23:01:18 To są wewnętrzne adresy (tzn. te, które wyświetla Twój program). Pierwszy to jest chyba adres Twojego komputera, a drugi... W czasie działanie programu miałeś uruchomimy jakiś inny komputer podpięty do sieci? |
|
yoogi |
» 2011-09-06 13:55:12 |
|
pekfos |
» 2011-09-06 16:28:56 Oczywiście że nie wirusa. Prędzej robaka :P |
|
« 1 » 2 |