Advertisement
Guest User

client

a guest
Jan 8th, 2012
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <sys/socket.h>
  5. #include <sys/types.h>
  6. #include <arpa/inet.h>
  7. #include <netinet/in.h>
  8. #include <unistd.h>
  9. #include <time.h>
  10.  
  11. int main () {
  12.     int descrittoreSocket;
  13.     descrittoreSocket = socket(AF_INET, SOCK_STREAM, 0);
  14.  
  15.     struct sockaddr_in address;
  16.     address.sin_family = AF_INET;
  17.     address.sin_port = htons(2770);
  18.     address.sin_addr.s_addr = INADDR_ANY;
  19.     printf ("Connessione in corso...\n");
  20.     int ris;
  21.     ris = connect(descrittoreSocket, (struct sockaddr*) &address, (socklen_t) sizeof(address));
  22.  
  23.     fd_set fd;
  24.     FD_ZERO(&fd);
  25.     FD_SET(descrittoreSocket, &fd);
  26.     struct timeval timer;
  27.     timer.tv_sec = 1;
  28.     timer.tv_usec = 0;
  29.  
  30.     if ((ris > -1) && select(descrittoreSocket+1, NULL, &fd, NULL, &timer) >= 0 && FD_ISSET(descrittoreSocket, &fd)) {
  31.         printf ("Connessione avvenuta...\n");
  32.         char buffer_r [512];
  33.         char buffer_w [512];
  34.         char command [15];
  35.         gets(command);
  36.         gets(buffer_r);
  37.         send(descrittoreSocket, command, 15, 0);
  38.         printf("Spedito!");
  39.         fflush(stdout);
  40.         send(descrittoreSocket, buffer_w, 512, 0);
  41.         printf("Spedito!");
  42.         fflush(stdout);
  43.         recv(descrittoreSocket, buffer_r, 512, 0);
  44.         printf("Trasferito!");
  45.         fflush(stdout);
  46.         if (strcmp("error", buffer_r) == 0)
  47.             printf ("ERROR!");
  48.         printf ("%s", buffer_r);
  49.         fflush(stdout);
  50.     } else {
  51.         printf ("Impossibile servire il client\n");
  52.     }
  53.         close (descrittoreSocket);
  54.         exit(0);
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement