ciao ragazzi ho il seguente problema
printf("IP%s\n",client_addr.sin_addr.s_addr);
con questo codice l'applicazione va in errore...
come faccio a stampare a video l'indirizzo del client che si è connesso alla socket?
Grazie
ciao ragazzi ho il seguente problema
printf("IP%s\n",client_addr.sin_addr.s_addr);
con questo codice l'applicazione va in errore...
come faccio a stampare a video l'indirizzo del client che si è connesso alla socket?
Grazie
Semplicemente perché quel s_addr non è una stringa ma bensì un unsigned long int che contiene l'indirizzo in binario (in network byte order) e che devi convertire in stringa usando la funzione inet_ntoa().Originariamente inviato da francescoprogc
ciao ragazzi ho il seguente problema
printf("IP%s\n",client_addr.sin_addr.s_addr);
con questo codice l'applicazione va in errore...
inet_ntoa(client_addr.sin_addr.s_addr)
ho il seguente errore
D:\Documents and Settings\Francesco\Desktop\22112007\ServerScada\Se rverScada.c(125) : error C2115: 'function' : incompatible types
D:\Documents and Settings\Francesco\Desktop\22112007\ServerScada\Se rverScada.c(125) : warning C4024: 'inet_ntoa' : different types for formal and actual parameter 1
inet_ntoa(client_addr.sin_addr);
Prova ad utilizzare %x anziche' %dOriginariamente inviato da francescoprogc
printf("IP%s\n",client_addr.sin_addr.s_addr);
Ma dov'e' che utilizza %d ? E perche' dovrebbe utilizzare %x se parliamo di una stringa contenente l'IP?Originariamente inviato da Ed_Bunker
Prova ad utilizzare %x anziche' %d
VOlevo scrivere %s e non %d.Originariamente inviato da oregon
Ma dov'e' che utilizza %d ? E perche' dovrebbe utilizzare %x se parliamo di una stringa contenente l'IP?
MI semrbra di ricordare che per gli indirizzi IP si utilizzasse %x.
Forse ricordo male.
Non so.
Per questo... ho detto "prova"...
Non si deve andare "a prove" ma bisogna studiare il funzionamento delle varie parti, in questo caso della funzione inet_ntoa
VVoVe: VVoVe:Originariamente inviato da oregon
Non si deve andare "a prove" ma bisogna studiare il funzionamento delle varie parti, in questo caso della funzione inet_ntoa
Ma perfavore...
Mica ho detto di andare per tentativi in una procedura ricorsiva o chissa' cos'altro.
Mi sembrava solamente che per gli indirizzi IP si utilizzare %x.
Tutto qua.
Se poi vuole PROVARE bene altrimenti provera' con la funzione che hai indicato.
:rollo: