Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zasto uvek daje 127.0.0.1 ?

[es] :: C/C++ programiranje :: Zasto uvek daje 127.0.0.1 ?

Strane: 1 2

[ Pregleda: 4636 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.041net.co.yu

Sajt: www.mycity.rs


+1 Profil

icon Zasto uvek daje 127.0.0.1 ?06.05.2003. u 17:25 - pre 254 meseci
Ovaj kod sam ja napisao, a i nasao sam isti takav primer na CodeGuru.com.
Trebao bi da mi izlista sve moje IP adrese.
Medjutim, uvek izlista samo 127.0.0.1, cak i kada sam na Internetu.

Code:

char local_host[256];
struct hostent *lpHostEntry;
struct sockaddr_in sock_addr_in;

char * get_local_ip()
{
   int rv = gethostname(local_host, 256);
   if (rv!=0) return 0;
   lpHostEntry = gethostbyname(local_host);

   for (int i=0; i<10; i++)
   {
      if (lpHostEntry->h_addr_list[i]==0) break;
      memcpy(&sock_addr_in.sin_addr, lpHostEntry->h_addr_list[i], lpHostEntry->h_length);
      printf ( "IP=%s\n", inet_ntoa(sock_addr_in.sin_addr) );
   }
}


Ovaj primer nisam probao na Windowsu, probao sam ga samo iz Linuxa, mada mislim da ne bi trebao to da bude problem, jer su funkcije i strukture kompatabilne.

Postoji li neki drugi nacin da dobijem svoj IP?
Ako sors ne moze da bude kompatabilan, onda dajte sta imate :)

[Ovu poruku je menjao Predrag Damnjanovic dana 07.05.2003. u 14:02 GMT]
 
Odgovor na temu

bm101
Vanja Tesin
Yu/Zr

Član broj: 1961
Poruke: 44
*.zre.sezampro.yu



Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 04:55 - pre 254 meseci
Ja pogledah sad u MSDN kad ono tamo kaze da gethostname() vraca 0 ako je sve ok. Tako da kod tebe u kodu, kad sve prodje kako treba, funkcija ne uradi nista.

Proveri kako stoje stvari na Linux-u, mada sumnjam da je drugacije, ali ...

Uz to evo verzija za Windows koja radi i na netu i u offline rezimu, zasnovane na kodu koji si postovao:

Code:

#include <crtdbg.h>
#include <stdio.h>
#include <windows.h>


char local_host[256];
struct hostent *lpHostEntry;
struct sockaddr_in sock_addr_in;

char * get_local_ip()
{
   int rv = gethostname(local_host, 256);
   //if (rv==0) return 0; // problem ?
   
   if (rv == SOCKET_ERROR)
   {
       int rvErr(0);
       
       rvErr = WSAGetLastError ();

       switch (rvErr)
       {
           case WSAEFAULT:
               printf ("WSAEFAULT\n");
               break;
           case WSANOTINITIALISED:
               printf ("WSANOTINITIALISED\n");
               break;
           case WSAENETDOWN:
               printf ("WSAENETDOWN\n");
               break;
           case WSAEINPROGRESS:
               printf ("WSAEINPROGRESS\n");
               break;
       }
   }

   lpHostEntry = gethostbyname(local_host);

   _ASSERT (lpHostEntry != NULL); // cisto predostroznosti radi :)

   for (int i=0; i<10; i++)
   {
      if (lpHostEntry->h_addr_list[i]==0) break;
      memcpy(&sock_addr_in.sin_addr, lpHostEntry->h_addr_list[i], lpHostEntry->h_length);
      printf ( "%s IP %s\n",local_host, inet_ntoa(sock_addr_in.sin_addr) );
   }
}

void main(void)
{
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
 
    wVersionRequested = MAKEWORD( 2, 2 );
 
    err = WSAStartup( wVersionRequested, &wsaData );
    
    if ( err != 0 ) {
        /* Tell the user that we could not find a usable */
        /* WinSock DLL.                                  */
        return;
    }
 
    get_local_ip ();
}


Toliko od mene ...
 
Odgovor na temu

bokash

Član broj: 658
Poruke: 35
212.200.84.*

Sajt: bokash.co.yu


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 06:46 - pre 254 meseci
http://www.codeguru.com/cs_network/getip.html
http://cui.unige.ch/OSG/people/Past/fuentes/Mfc/HowTo_48.html
pozdrav od Borisa
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.041net.co.yu

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 13:58 - pre 254 meseci
da, da, vraca 0 ako je ok, taj if sam dodao ovde, ovamo u mom kodu ga nemam, a isto vraca uvek 127...
ajd videcu da li ovo tvoje radi, mada na prvi pogled sve je isto...

verovatno i ono moje (bez if-a) radi u winu, probacu oba...

p.s. bokash, i ona 2 primera su ista kao ovo gore... anyway, tnx.
 
Odgovor na temu

Dusan Marjanovic
Consultant, SAS
Beograd

Član broj: 59
Poruke: 1290
*.016le.net

Jabber: dusanm@gmail.com
ICQ: 84621598
Sajt: marjanovic.net


+6 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 17:13 - pre 254 meseci
probaj na ovaj način:
Code:

        adrese=lpHostEntry->h_addr_list;
        while(*adrese){
                printf("%s",inet_ntoa(*(struct in_addr*)*adrese));
                adrese++;
}

VMware VCP/Microsoft MCSE 2003/HP ASE
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.041net.co.yu

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 18:03 - pre 254 meseci
time nista ne dobijas, samo si zamenio nacin petlje :)
jos nisam pogledao u win, verovatno radi, a ovaj moj linux zeza...
 
Odgovor na temu

Dusan Marjanovic
Consultant, SAS
Beograd

Član broj: 59
Poruke: 1290
*.016le.net

Jabber: dusanm@gmail.com
ICQ: 84621598
Sajt: marjanovic.net


+6 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?07.05.2003. u 23:21 - pre 254 meseci
ako ništa drugo onda bar priznaj da lepše izgleda od i koje ide od 1 do 10 :o)
VMware VCP/Microsoft MCSE 2003/HP ASE
 
Odgovor na temu

bokash

Član broj: 658
Poruke: 35
212.200.84.*

Sajt: bokash.co.yu


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?08.05.2003. u 03:50 - pre 254 meseci
Citat:
Predrag Damnjanovic:

p.s. bokash, i ona 2 primera su ista kao ovo gore... anyway, tnx.


Kod mene rade (TM) oba. Mora da nesto drugo nije u redu.
Posalji ceo kod.

pozdrav od Borisa
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?08.05.2003. u 16:47 - pre 254 meseci
http://www.kohala.com/start/unpv12e.html

Da ne trazis okolo - prmyaddrs1.c :)

Btw. moj savet ti je da da se manes "guru" sajtova. Za mene, kad je mrezno programiranje u pitanju, postoji samo jedan guru - Richard W. Stevens.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?08.05.2003. u 18:38 - pre 254 meseci
Citat:
bokash:
Kod mene rade (TM) oba. Mora da nesto drugo nije u redu.
Posalji ceo kod.

Pa ono u prvoj poruci je ceo kod, eno sredio sam onaj if...
Samo dodaj inicijalizaciju za WSA ako kompajliras za win, i include-uj windowes.h, i linkuj wsock32.lib :)

Ma 100% me linux zeza, evo bas cu posle da proverim u windowsu...
 
Odgovor na temu

bokash

Član broj: 658
Poruke: 35
212.200.84.*

Sajt: bokash.co.yu


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 04:03 - pre 254 meseci
Nemam linux da proverim na njemu. Da nije mozda
problem u /etc/hosts ili tako nesto.
Sta ide na linuxu umesto WSAStartup ?
Cisto me zanima.
pozdrav od Borisa
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 14:16 - pre 254 meseci
na unix-ima nista ne ide umesto WSAStartUp :), jednostavno sve je vec inicijalizovano.

Probao sam onaj moj kod u windowsu - radi.
Linux me nesto zeza, ili se na unix-ima jednostavno lokalni IP dobija na drugaciji nacin.
Remote IP lepo dobijam...
Pogledacu ono lekino, ako opet dobijem 127 onda je definitivno do mog OS-a, mozda /etc/hosts, ko zna...
 
Odgovor na temu

Dusan Marjanovic
Consultant, SAS
Beograd

Član broj: 59
Poruke: 1290
*.016le.net

Jabber: dusanm@gmail.com
ICQ: 84621598
Sajt: marjanovic.net


+6 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 14:49 - pre 254 meseci
evo ja znam :o)
pa onaj Lekin, tačnije Stevensov, primer je upravo ono što sam ti ja dao...tako da što se tiče koda sve je ispravno...u pitanju je tvoj /etc/hosts fajl u kome pored tvog hostname-a stoji 127.0.0.1...ja sam probao na mashini koja je non stop online i ima svoju ip adresu naznacenu u /etc/hosts...i daje pravu ip adresu, tek kasnije sam probao kod mene kuci i daje ip adresu koju mashina ima u lokalnoj mrezi...jer ta adresa stoji uz njen hostname...
VMware VCP/Microsoft MCSE 2003/HP ASE
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 16:04 - pre 254 meseci

Pa to je onda neispravno konfigurisan računar. 127.0.0.1 treba da bude samo localhost i ništa više. Ako treba drugi IP za računar, treba podići dummy interfejs. U /etc/hosts koji dolazi uz Slekver umirujućim crvenim slovima piše:

Code:

# By the way, Arnt Gulbrandsen <[email protected]> says that 127.0.0.1
# should NEVER be named with the name of the machine.  It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#

# For loopbacking.
127.0.0.1       localhost


f
 
Odgovor na temu

silverglider

Član broj: 651
Poruke: 218
*.batalpha.de

Sajt: www.benchmark.co.yu


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 17:53 - pre 254 meseci
Prosle ili pretprosle godine sam imao slican problem, ali stvar nije bila samo u /etc/hosts vec i u tome da li je pored loopbacka podignut uopste koji interfejs (ethx, pppx, etc). Recimo da je podignut samo lo, a eth0 ne, vratice 127.0.0.1 bez obzira na /etc/hosts. Mislim, i da nemas staticke IP adrese i sredjen /etc/hosts, nego dhcp server, recimo, funkcija bi trebala da vraca korektnu IP adresu.
Dakle, ifconfig u ruke...
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 20:46 - pre 254 meseci
Ni ono lekino ne radi:
---------
peca@peca:~/unpv12e/names$ ./prmyaddrs1
address: 127.0.0.1
---------

Znaci, onaj moj sors je ok...

Pogledacu sta zeza...
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 21:41 - pre 254 meseci
Code:

127.0.0.1       localhost

Ako samo ovo ostavim sve ode u djavola, apache se ne dize, a gethostbyname ili gethostname (mrzelo me da gledam koja f-ja) vracaju NULL.

Sta stvarno da radim, ja nikad nisam cuo za lo, eth0, pppx...
Mislim, cuo sam, ali samo toliko, samo sam cuo za ove stvarcice :)
 
Odgovor na temu

6544616a006e
Nadej Kilec
Bukulja

Član broj: 10080
Poruke: 44
*.telia.com

Sajt: www.gnu.org


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 22:34 - pre 254 meseci
a sta kaze ifconfig?
---
GNU's Not UNIX
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Re: Zasto uvek daje 127.0.0.1 ?09.05.2003. u 23:48 - pre 254 meseci
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:100 (100.0 b) TX bytes:100 (100.0 b)

ppp0 Link encap:Point-to-Point Protocol
inet addr:195.250.103.107 P-t-P:195.250.103.126 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:297 errors:1 dropped:0 overruns:0 frame:0
TX packets:332 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:210306 (205.3 Kb) TX bytes:38552 (37.6 Kb)
 
Odgovor na temu

6544616a006e
Nadej Kilec
Bukulja

Član broj: 10080
Poruke: 44
*.telia.com

Sajt: www.gnu.org


Profil

icon Re: Zasto uvek daje 127.0.0.1 ?10.05.2003. u 01:46 - pre 254 meseci
I hoćeš da kažeš da onaj Stevensov kod ne radi kad si na NET-u i kad imaš taj drugi IP? - Ne verujem ti! :)
---
GNU's Not UNIX
 
Odgovor na temu

[es] :: C/C++ programiranje :: Zasto uvek daje 127.0.0.1 ?

Strane: 1 2

[ Pregleda: 4636 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.