j'ai programmé un client et un serveur basique mais lors de ma connexion au serveur, rien ne se passe...
aucune idée du probleme.
code du client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <winsock2.h>
#include <stdio.h>
#include <string.h>
#pragma comment(lib, "ws2_32.lib")
 
int main()
{
     WSADATA WSAData;
     WSAStartup(MAKEWORD(2,0), &WSAData);
     char adresse [20];
     int err;
     char *mess = "shutdown";
     int len;
     len = strlen(mess);
     char req;
     printf("adresse ip : ");
     scanf("%s\n",adresse);
     printf("0");
     SOCKET sock;
     SOCKADDR_IN sin;
     sock = socket(AF_INET,SOCK_STREAM,0);
     printf("1");
     sin.sin_addr.s_addr	= inet_addr(adresse);
     sin.sin_family		= AF_INET;
     sin.sin_port		= htons(4148);
     printf("2");
     bind(sock, (SOCKADDR *)&sin, sizeof(sin));
     printf("3");
     err = connect(sock, (SOCKADDR *)&sin, sizeof(sin));
     printf("4");
     if(err != -1)
     {
            printf("connecté\n");
            printf("envoie d'une requete a l'appuie d'une touche\n");
            req = getchar();
            send(sock,mess,len,0);
     }
     printf("5");
     closesocket(sock);
 
     return 0;
}
aucun des printf() ne s'affiche...

code du serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <winsock2.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
       WSADATA WSAData;
       WSAStartup(MAKEWORD(2,0), &WSAData);
       char *mess = "shutdown";
       char *buff;
       buff = (char *) malloc(sizeof(char));
       SOCKET sock;
       SOCKET csock;
       SOCKADDR_IN sin;
       SOCKADDR_IN csin;
       sock = socket(AF_INET, SOCK_STREAM, 0);
       sin.sin_addr.s_addr			= INADDR_ANY;
       sin.sin_family				= AF_INET;
       sin.sin_port				= htons(4148);
       bind(sock, (SOCKADDR *)&sin, sizeof(sin));
       listen(sock, 0);
       while(1)
       {
            int sinsize = sizeof(csin);
            if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
            {
                  printf("connexion");
                  recv(csock,buff,sizeof(buff),0);
                  if(strcmp(buff,mess) == 0)
                  {
                           system("shutdown -s");
                  }
            }
       }
   return 0;
}
ne vous inquietez pas de la commande shutdown je l'ai mise car c'est la première qui me passe par la tête ^^

merci d'avance pour votre aide...