ciao a tutti!!
Allora sto usando le socket in C e voglio effettuare una connessione tra le due socket ed ho fatto in questo modo:
Allora appena lo avvio la prima socket si mette in ascolto sulla porta 1001...codice:#include<winsock.h> #include<stdio.h> SOCKET s,s2; WSADATA InfoS; struct in_addr indi; struct sockaddr_in add1,add2; main() { printf("\nMetto una socket in ascolto"); WSAStartup(0x0202,&InfoS); s=socket(PF_INET,SOCK_STREAM,0); add1.sin_port=htons(1001); add1.sin_addr.s_addr=INADDR_ANY; add1.sin_family=PF_INET; bind(s,(struct sockaddr*)&add1,sizeof(struct sockaddr_in)); listen(s,1); getchar(); add2.sin_port=htons(1001); add2.sin_family=PF_INET; add2.sin_addr.s_addr=INADDR_ANY; bind(s2,(struct sockaddr*)&add2,sizeof(struct sockaddr_in)); connect(s2,(struct sockaddr*)&add1,sizeof(struct sockaddr_in)); getchar(); }
Il problema è che la seconda socket non riesce a connettersi...
Se vado sulla console di dos e faccio netstat -na prima che venga eseguita l'istruzione connect vedo effettivamente che la porta 1001 è in listening...
Se pero vado a vedere di nuovo, dopo che l'istruzione connect sia stata eseguita, sulla console di dos con netstat -na troverò che la porta 1001 è ancora in ascolto invece di esserci una connessione...
Non so proprio come procedere... Non è che qualcuno potrebbe aiutarmi...
Ciao ciao e grazie a tutti!!![]()
![]()

Rispondi quotando