Le serveur marche (j'en ai essayé plusieurs), la connection aussi car conn == 0 et bind ce n'est pas nécessaire car c'est un client que je développe (et en plus j'ai déjà essayé). Bref je ne vois franchement pas ! Merci quand même.
-------------------------------
Réponse au message :
-------------------------------
> Sinon ets-tu sur que l'erreur ne vient pas du serveur?
> Bye, Xentor609
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Je connais pas tro les sockets, mais es-tu sur que ta connexion est reussie?
> > Un ptit truc en passant, je sais pas si c'ets obligatoire, mais
> >
> >
> > sock = socket(AF_INET,SOCK_STREAM,0); > > bind(sock,(SOCKADDR *)&sin,sizeof(sin)); > > int conn = connect(sock, (SOCKADDR *)&sin, sizeof(sin)); > > |
> >
> > Bye,Xentor609
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila j'ai crée un fonction qui se connecte à un serveur dont l'ip et le port sont précisés en argument, mais je ne reçoit pas ou je n'arrive pas à lire les données envcoyées par le serveur grâce à la fonction recv(). Voici mon code :
> > > int aff_recv(char *ip, int port)
> > > {
> > > char val, c;
> > > int buf_len = 1024;
> > > char *buffer = (char *)(malloc(buf_len));
> > > int sock, retour = 0;
> > >
> > > while(1)
> > > {
> > > WSADATA WSAData;
> > > WSAStartup(MAKEWORD(2,0),&WSAData);
> > >
> > > /* Configuration du socket */
> > >
> > > SOCKET sock;
> > > SOCKADDR_IN sin;
> > > sin.sin_addr.s_addr = inet_addr(ip);
> > > sin.sin_family = AF_INET;
> > > sin.sin_port = htons(port);
> > >
> > > /* Ouverture du socket et connection */
> > >
> > > printf("connection...\n");
> > >
> > > sock = socket(AF_INET,SOCK_STREAM,0);
> > >
> > > int conn = connect(sock, (SOCKADDR *)&sin, sizeof(sin));
> > > if(conn == 0) // Test la connection
> > > {
> > > printf("connection reussie");
> > > break;
> > > }
> > > else
> > > {
> > > printf("connection echouee, reessayer ?(o/n)");
> > > val=getchar();
> > > while (val!='o' && val!='O' && val!='n' && val!='N') val=getchar();
> > > }
> > > if(val == 'n' || val == 'N') return 0;;
> > > }
> > >
> > > printf("\nReception des donnees...\n");
> > >
> > > recv(sock,buffer,buf_len,0);
> > > printf("%s", buffer);
> > >
> > > return 0;
> > > }
> > > Pouvez vous m'aider, merci.
> > >
> >
>