PDA

Visualizza la versione completa : [C++] Chat


denadai2
30-11-2005, 18:23
Ho provato seguendo questa pillola (http://forum.html.it/forum/showthread.php?s=&threadid=432190&highlight=socket)

e questi files server (http://www.csee.usf.edu/~christen/tools/server.c) e client (http://www.csee.usf.edu/~christen/tools/client.c)



ma in tutti due i casi il client nn si connette... ho provato in diversi pc senza firewalls ecc... ora... nn riesco a fare una chat se nn specifico l'ip destinatario (per il client) di 127.0.0.1.... praticamente mi accetta solo una chat locale

aiutatemi

Frapper
30-11-2005, 18:35
ciao

Prova a mettere nel campo : tutti gli AF_INET
con PF_INET, ho sempre usato quello nei pochi programmi che ho fatto con i sock


speriamo...ciao

denadai2
30-11-2005, 18:40
nn cambia nulla... ho provato pure con hyperterminal... NON FUNZIONA :dottò:

Frapper
30-11-2005, 18:47
nel server al posto di

server_addr.sin_addr.s_addr = htonl(INADDR_ANY);

specifica l'indirizzo ipdel server così

sockS_in.sin_addr.S_un.S_un_b.s_b1=ip1;
sockS_in.sin_addr.S_un.S_un_b.s_b2=ip2;
sockS_in.sin_addr.S_un.S_un_b.s_b3=ip3;
sockS_in.sin_addr.S_un.S_un_b.s_b4=ip4;

sono le varie parti dell'ip
sarebbe megliousare anke la funzione che te le trasforma in indirizzi di rete...ma funziona comunque


stessa cosa per il client

oregon
30-11-2005, 18:48
Non sono riuscito a replicare il tuo problema.

Il codice lavora regolarmente ...

Quando avvii il server, prova a scrivere da DOS

netstat -an

e dimmi il risultato ...

Frapper
30-11-2005, 18:54
oppure prova a telnettare il server
lanci il server vai in dos scrivi telnet ipserver porta
es:
telnet 127.0.0.1 666

se funziona è colpa del client altrimente del server

denadai2
30-11-2005, 19:15
netstat -an da effettivamente il listening per il server ecc


cmq in locale va... ma quando esco dalla rete locale nn va +

oregon
30-11-2005, 19:26
Che vuoi dire con "quando esco dalla rete locale nn va +" ... cerca di essere preciso ...

Per rete locale intendi una LAN ... ?

Frapper
30-11-2005, 19:30
credo che indenda cosi... lancia tutti e 2 i programmi ( client server ) sul suo pc e si connette all' indirzzo 127.0.0.1 ( appunto locale) inpratica si connette a se stesso

ma se fà girare i 2 programmi su 2 pc diversi anche in lan non funziona più.. cioè nonriesce a collegarsi

oregon
30-11-2005, 19:36
Il PC avra' un IP ... hai provato ad avviare il programma server e collegarti con il telnet

telnet ip 1050

dove ip e' l'ip del PC ...???

Loading