Advertisement
Alx09

client.c

Jun 22nd, 2022
1,018
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/socket.h>
  4. #include <netinet/in.h>
  5. #include <arpa/inet.h>
  6. #include <string.h>
  7. #include <unistd.h>
  8. #include <stdlib.h>
  9. #include <time.h>
  10. #define PORT_ID 10001
  11. #define SERV_HOST_ADDR "127.0.0.1"
  12.  
  13.  
  14. int main(void)
  15. {
  16.     int sockid, status,nread;
  17.      struct sockaddr_in ssock_addr;
  18.     int sizeof_addr = sizeof(ssock_addr);
  19.  
  20.     char msg[1024];
  21.     time_t start,end;
  22.  
  23.    
  24.  
  25.     bzero((char *)&ssock_addr, sizeof_addr);
  26.     ssock_addr.sin_family = AF_INET;
  27.     ssock_addr.sin_addr.s_addr = inet_addr(SERV_HOST_ADDR);
  28.     ssock_addr.sin_port = htons(PORT_ID);
  29.  
  30.     if ((sockid = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
  31.     {
  32.         printf("Eroare socket\n");
  33.         return -1;
  34.     }
  35.  
  36.  
  37.     while(1)
  38.     {
  39.         fgets(msg, sizeof(msg), stdin);
  40.         start = time(NULL);
  41.         status= sendto(sockid, &msg, sizeof(msg),0, (struct sockaddr *) &ssock_addr, sizeof_addr);
  42.     if(status<0)
  43.         {
  44.         printf("Eroare trimitere!\n");
  45.         }
  46.     else{
  47.         nread=recvfrom(sockid, &msg,sizeof(msg), 0, (struct sockaddr *) &ssock_addr,&sizeof_addr);
  48.             if(msg[0] != '.' || msg[1] != 'd')
  49.                 {
  50.                    
  51.                     if(nread < 0) printf("Eroare primire\n");
  52.                     else
  53.                     {
  54.                        end = time(NULL);   
  55.                        msg[strlen(msg) - 1] = '\0';
  56.                        printf("durata transmitere/receptie %s:  %lds\n",msg,end-start);
  57.                     }
  58.                 }
  59.             else
  60.             {
  61.                 msg[nread] = '\0';
  62.                 if(strcmp(msg,"ERROR")==0)
  63.                     printf("Eroare comanda!\n");
  64.             }
  65.         }
  66.     }
  67.    
  68.     return 0;
  69.  
  70. }
  71.  
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement