salut tout le monde,
voici mon code :
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
      #include <sys/socket.h>
      #include <sys/types.h>
      #include <netinet/in.h>
      #include <unistd.h>
      #include <stdlib.h>
      #include <errno.h>	
     #include <string.h>	
      #include <stdio.h>
 
      #define MAX_SEND 100
 
      int main()
 
      {
 
        int socket_connect, sockaddr_len;
 
        struct sockaddr_in sockaddr_connect,merde;
 
        char buffer[MAX_SEND];
 
        sockaddr_connect.sin_family = AF_INET;
 
        sockaddr_connect.sin_addr.s_addr = inet_addr("127.0.0.1");
 
        sockaddr_connect.sin_port = htons(6668);
 
	sockaddr_connect.sin_zero[8]=0;
 
 
	if(socket_connect = socket(AF_INET, SOCK_STREAM, 0) < 0)
 
        {
 
           printf("Socket creation errror !\n" );
 
           return EXIT_FAILURE;
 
        }
 
       printf("socket=%d\n",socket_connect);
 
        if(connect(socket_connect, (struct sockaddr*)&sockaddr_connect, sizeof(sockaddr_connect)) < 0)
 
        {
 
           printf("Socket connection error !\n" );
	   perror("erreur");
 
           return EXIT_FAILURE;
 
        }
 
 
 
        while(1)
 
        {
 
           printf("send>" );
 
           scanf("%s", &buffer);
 
           write(socket_connect, buffer, MAX_SEND);
 
        }
 
 
 
        close(socket_connect);
 
        return 0;
 
      }
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    #include <errno.h>	
 
    #define MAX_RECEPT 100
 
 
 
     int main(int argc, char* argv[])
 
      {
 
        if(argc < 2)
 
        {
           printf("Parameters error !\n" );
           return EXIT_FAILURE;
        }
        int socket_server, socket_client, server_len, client_len;
        struct sockaddr_in sockaddr_server, sockaddr_client;
        char buffer[MAX_RECEPT];
	char buff[50];
        time_t date;
        FILE* f = fopen(argv[1], "a" );
        if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0)
          {
           printf("Socket creation error !\n" );
           return EXIT_FAILURE;
         }
        sockaddr_server.sin_family = AF_INET;
        sockaddr_server.sin_port = htons(6668);
        sockaddr_server.sin_addr.s_addr = INADDR_ANY;
        server_len = sizeof(sockaddr_server);
        client_len = sizeof(sockaddr_client);
        if(bind(socket_server, (struct sockaddr*)&sockaddr_server, server_len) < 0)
        {
 
           printf("Socket bind error !\n" );
	   printf("%d\n",errno);
	  perror("erreur :");
 
           return EXIT_FAILURE;
 
        }
 
        if(listen(socket_server, 10) < 0)
 
        {
 
           printf("Socket listen error !\n" );
 
           return EXIT_FAILURE;
 
        }
 
 
 
        printf("[~]Waiting connection... \n" );
 
        socket_client = accept(socket_server, (struct sockaddr*)&sockaddr_client, &client_len);
 
        printf("[~]Established connection !\n" );
 
 
 
        time(&date);
 
        fprintf(f, "[!]Established connection at %s\n", ctime(&date));
 
 
        while(1)
 
        {
 
           if(read(socket_client, &buffer, MAX_RECEPT) < 0)
 
           {
 
              printf("Socket read error !" );
 
              return EXIT_FAILURE;
 
           }  
 
 
 
           printf("From client : %s\n\n", buffer);  
 
           fprintf(f, "From client : %s\n", buffer);  
 
        }
 
 
 
        close(socket_client);
 
        printf("Saving in %s\n", argv[1]);
 
 
 
        return 0;
 
      }
le serveur se lance bel et bien, mais le client me retourne cette erreur, et connect retourne 0 (j'ai lu quelque part que ceci n'est pas un probleme du fait que c'est >0).

une idee la dessus

merci d'avance.