SHARE
TWEET

Untitled

a guest Mar 25th, 2019 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int
  2. main(void)
  3. {
  4.     int serveur;
  5.     int lg_rx, lg_out, lg_tx;
  6.     socklen_t paq_lg;
  7.     struct sockaddr_in client;
  8.  
  9.     char    buffer_in[MAX_BUFFER + 1],
  10.     buffer_out[MAX_BUFFER + 1];
  11.     serveur = setup_udp_serveur(ADR_LISTEN, PORT_NET);
  12.  
  13.     if (serveur != -1)
  14.     {
  15.         buffer_out[0] = 'A';
  16.         if ((lg_tx = sendto(serveur, buffer_out, lg_out, 0, (struct sockaddr *)&client, paq_lg)) < 0)
  17.         {
  18.             perror("ERREUR sendto");
  19.             exit(EXIT_FAILURE);
  20.         }
  21.         printf("Connecter");
  22.         paq_lg = sizeof(struct sockaddr_in);
  23.         bzero(buffer_in, MAX_BUFFER);
  24.  
  25.         if ((lg_rx = recvfrom(serveur, buffer_in, MAX_BUFFER, 0, (struct sockaddr *)&client, &paq_lg)) < 0)
  26.         {
  27.             perror("ERREUR recvfrom");
  28.             exit(EXIT_FAILURE);
  29.         }
  30.         else
  31.         {
  32.             printf("\n--------------------------------------------------------------------------\n\n");
  33.  
  34.             FILE *fichier;
  35.             if ((fichier = fopen("prog", "w")) == NULL)
  36.             {
  37.                 printf("--------------------- Probleme de fichier\n");
  38.             }
  39.             else
  40.             {
  41.                 fprintf(fichier,"%1c",lg_rx);
  42.             }
  43.  
  44.  
  45.             buffer_in[lg_rx] = 0;
  46.             printf("Le serveur a recu %i bytes ==>>%s<<==\n\n", lg_rx, buffer_in);
  47.  
  48.             bzero(buffer_out, MAX_BUFFER);
  49.             snprintf(buffer_out, MAX_BUFFER, ")%s(", buffer_in);
  50.             lg_out = strlen(buffer_out);
  51.  
  52.             printf("Le serveur va transmettre %i bytes ==>>%s<<==\n\n", lg_out, buffer_out);
  53.  
  54.             printf("\n--------------------------------------------------------------------------\n\n");
  55.         }
  56.     }
  57. }
  58.  
  59.  
  60. ///////////////////SERVER
  61.  
  62. int
  63. main(void)
  64. {
  65.     int serveur;
  66.     int lg_rx, lg_out, lg_tx;
  67.     socklen_t paq_lg;
  68.     struct sockaddr_in client;
  69.     int size = 0;
  70.  
  71.     char    buffer_in[MAX_BUFFER + 1],
  72.         buffer_out[MAX_BUFFER + 1];
  73.  
  74.     //-------------------------
  75.  
  76.     serveur = setup_udp_serveur(ADR_LISTEN, PORT_NET);
  77.  
  78.     if (serveur != -1)
  79.     {
  80.         if ((lg_rx = recvfrom(serveur, buffer_in, MAX_BUFFER, 0, (struct sockaddr *)&client, &paq_lg)) < 0)
  81.         {
  82.             perror("ERREUR recvfrom");
  83.             exit(EXIT_FAILURE);
  84.         }
  85.         printf("Connecter");
  86.         paq_lg = sizeof(struct sockaddr_in);
  87.         bzero(buffer_in, MAX_BUFFER);
  88.         printf("\n--------------------------------------------------------------------------\n\n");
  89.  
  90.         prt_sockaddr_in(client);
  91.         FILE *fichier;
  92.  
  93.         if ((fichier = fopen("prog", "r")) == NULL)
  94.         {
  95.             printf("--------------------- Probleme de fichier\n");
  96.         }
  97.         else
  98.         {
  99.             fseek(fichier, 0, SEEK_END);
  100.             size = ftell(fichier);
  101.             printf("size: %X\n", size);
  102.             fseek(fichier, 0, SEEK_SET);
  103.  
  104.             //scanf("%[^\n]s", buffer);
  105.  
  106.             while(size!=0)
  107.             {
  108.                 if (size >= 100)
  109.                 {
  110.                     for (int i = 0; i < 100; i++)
  111.                     {
  112.                         buffer_in[i] = fscanf(fichier, "%c");
  113.                     }
  114.                     fscanf(fichier, "%[^\n]s", buffer_in);
  115.                     size - 100;
  116.                 }
  117.                 else
  118.                 {
  119.                     for(int i=0;i<size;i++)
  120.                     {
  121.                         buffer_in[i] = fscanf(fichier, "%c");
  122.                     }
  123.                     for (int i = (100-size); i < 100; i++)
  124.                     {
  125.                         buffer_in[i] = 0;
  126.                     }
  127.                     size = 0;
  128.                 }
  129.  
  130.                 if ((lg_tx = sendto(serveur, buffer_out, lg_out, 0, (struct sockaddr *)&client, paq_lg)) < 0)
  131.                 {
  132.                     perror("ERREUR sendto");
  133.                     exit(EXIT_FAILURE);
  134.                 }
  135.                 else
  136.                 {
  137.                     printf("Transmission de %i byte terminee\n\n\n", lg_out);
  138.                 }
  139.             }
  140.            
  141.  
  142.             printf("\n--------------------------------------------------------------------------\n\n");
  143.             printf("\n----------------------------potato234000000000000000000000----------------\n\n");
  144.             /*
  145.  
  146.             bzero(buffer_out, MAX_BUFFER);
  147.             snprintf(buffer_out, MAX_BUFFER, ")%s(", buffer_in);
  148.             lg_out = strlen(buffer_out);
  149.  
  150.             printf("Le serveur va transmettre %i bytes ==>>%s<<==\n\n", lg_out, buffer_out);
  151.  
  152.             //--------------------------------------------- Transmet un paquet
  153.             printf("TO: ");
  154.             prt_sockaddr_in(client);
  155.             printf("\n\n");
  156.  
  157.             if ((lg_tx = sendto(serveur, buffer_out, lg_out, 0, (struct sockaddr *)&client, paq_lg)) < 0)
  158.             {
  159.                 perror("ERREUR sendto");
  160.                 exit(EXIT_FAILURE);
  161.             }
  162.             else
  163.             {
  164.                 printf("Transmission de %i byte terminee\n\n\n", lg_out);
  165.             }
  166.            
  167.             */
  168.         }
  169.     }
  170. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top