Advertisement
Tolyamba

SPO_KR_v4_client

Dec 20th, 2016
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. /* Client*/
  2.  
  3. #include <sys/socket.h>
  4. #include <sys/types.h>
  5. #include <sys/wait.h>
  6. #include <netinet/in.h>
  7. #include <string.h>
  8. #include <stdlib.h>
  9. #include <stdio.h>
  10. #include <arpa/inet.h>
  11. #include <netdb.h>
  12. #include <unistd.h>
  13.  
  14. void error(char *msg)
  15. {
  16. perror(msg); // идентификация ошибки с выводом сообщения
  17. exit(0);
  18. }
  19.  
  20. int main(int argc , char *argv[])
  21. {
  22.     struct sockaddr_in name;
  23.     int s = 0, sum = 0;
  24.     int n;    
  25.  
  26.     int sd = socket(AF_INET , SOCK_STREAM , 0); // создание сокета
  27.  
  28.     if (sd < 0) // проверка подключения
  29.     {
  30.         error("Error: can't open socket\n");
  31.     }    
  32.  
  33.     name.sin_family=AF_INET;
  34.     name.sin_port=htons(3000);
  35.     name.sin_addr.s_addr=inet_addr("127.0.0.1");
  36.  
  37.     // Запрос связи с существующим программным гнездом со стороны процесса-клиента
  38.     int d = connect(sd, (struct sockaddr *)&name, sizeof(name));
  39.  
  40.     if (d < 0)
  41.     {
  42.         error("Error: can't open socket\n");
  43.     }
  44.  
  45.     else
  46.     {
  47.             /* ПЕРЕДАЧА ЧИСЛА write()*/   
  48.         char buf[1024];
  49.         scanf("%s", buf);      
  50.         n = send(sd, buf, sizeof(buf), MSG_OOB);
  51.         if (n < 0)
  52.         {
  53.             error("Error writing to socket\n");
  54.         }
  55.  
  56.             /* ПРИЁМ ЧИСЛА read()*/
  57.         n = read(sd, &sum, sizeof(sum));
  58.         if (n < 0)
  59.         {
  60.             error("Error reading from socket\n");
  61.         }  
  62.         printf("%i", sum); 
  63.        
  64.     }
  65.  
  66.     close(sd);
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement