tcp simple servidor / cliente código de realización, una

Cliente: (client1.c)

1 incluyen <unistd.h>
 2 #include <stdlib.h>
 3 #include <sys / socket.h>
 4 #include <arpa / inet.h>
 5 #include < string .h>
 6  
7  #define BUFSIZE 1024
 8  #define SERV_IP "127.0.0.1"
 9  #define SERV_PORT 6666
 10  int main ()
 11  {
 12          int CFD;
13          int n;
14          Char buf [BUFSIZE];
15          struct sockaddr_in serv_addr;
16          // socklen_t serv_addr_len;
17          cfd = socket (AF_INET, SOCK_STREAM, 0 );
18  
19          memset (y serv_addr, 0 , sizeof (serv_addr));
20          serv_addr.sin_family = AF_INET;
21          serv_addr.sin_port = htons (SERV_PORT);
22          inet_pton (AF_INET, SERV_IP, y serv_addr.sin_addr.s_addr);
23          Si (connect (cfd, ( struct sockaddr *) y serv_addr, sizeof (serv_addr)) < 0 )
 24          {
 25                  perror ( " conexión ");
26                  de salida ( 1 );
27          }
 28  
29          mientras que ( 1 )
 30          {
 31                  fgets (buf, sizeof (BUF), stdin);
32                  de escritura (CFD, buf, strlen (BUF));
33                  n = leer (CFD, buf, sizeof (BUF));
34                  de escritura (STDOUT_FILENO, buf, n);
35          }
 36  
37          cerca (CFD);
38          de retorno  0 ;
39 }

 

Servidor: (server1.c)

1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <sys / socket.h>
 4 #include <stdlib.h>
 5 # include <arpa / inet.h>
 6 #include <ctype. h>
 7 #include < string .h>
 8  #define SERV_PORT 6666
 9  #define BUFSIZE 1024
 10  #define SERV_IP "127.0.0.1"
 11  
12  int main ()
 13  {
 14      int LFD, cFD;
15      int n;
16      Char buf [BUFSIZE];
17      structserv_addr sockaddr_in, clie_addr;
18      socklen_t clie_addr_len;
19      lfd = socket (AF_INET, SOCK_STREAM, 0 );
20      
21      serv_addr.sin_family = AF_INET;
22      serv_addr.sin_port = htons (SERV_PORT);
23      serv_addr.sin_addr.s_addr = htonl (INADDR_ANY);
24      // memset (y serv_addr, 0, sizeof (serv_addr));
25          // inet_pton (AF_INET, SERV_IP, y serv_addr.sin_addr.s_addr); 
26  
27  
28      Si (bind (LFD, ( struct sockaddr *) y serv_addr, sizeof (serv_addr)) == - 1)
 29      {
 30          perror ( " unen " );
31          de salida ( 1 );
32      }
 33  
34      si (escuchar (LFD, 128 ) == - 1 )
 35      {
 36          perror ( " escuchar " );
37          de salida ( 1 );
38      }
 39  
40      clie_addr_len = sizeof (clie_addr);
41      CFD = accept (LFD, ( struct sockaddr *) y clie_addr, yclie_addr_len);
42      Si (CFD < 0 )
 43      {
 44          perror ( " aceptar " );
45          de salida ( 1 );
46      }
 47      mientras que ( 1 )
 48      {
 49          n = leer (CFD, buf, sizeof (BUF));
50          para ( int i = 0 ; i <n; i ++ )
 51              buf [i] = toupper (buf [i]);
52          de escritura (cfd, buf, n);
53 
54      }
 55      cerca (CFD);
56      cerca (LFD);
57      de retorno  0 ;
58 }

 

Supongo que te gusta

Origin www.cnblogs.com/yxbl/p/12626891.html
Recomendado
Clasificación