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
aucun des printf() ne s'affiche...
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; }
code du serveur :
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 ^^
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; }
merci d'avance pour votre aide...
Partager