SHARE
TWEET

Untitled

a guest Feb 28th, 2020 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <fcntl.h>
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. #define ROZMIAR_BUFORA 512
  7. #define TRUE 1
  8.  
  9. // ODEBRANIE WIADOMOŚCI OD KLIENTA
  10. void getMessage()
  11. {
  12.    int dane = 0;
  13.    char bufor[ROZMIAR_BUFORA];
  14.    memset(&bufor[0], 0, sizeof(bufor));
  15.  
  16.    while((dane = open("dane.txt", O_RDWR)) < 0) {}
  17.  
  18.    if(dane != 0)
  19.    {
  20.      while(read(dane,bufor,ROZMIAR_BUFORA) < 1) {}
  21.      printf("\nKLIENT WYSŁAŁ WIADOMOŚĆ:\n%s", bufor);
  22.      // close(dane);
  23.      printf("\n");
  24.    }
  25. }
  26.  
  27. // WYSYŁANIE WIADOMOŚCI ZWROTNEJ DO KLIENTA
  28. void sendMessage()
  29. {
  30.     int wyniki;
  31.     char bufor[ROZMIAR_BUFORA];
  32.   memset(&bufor[0], 0, sizeof(bufor));
  33.     char znak[1];
  34.     int licznik = 0;
  35.  
  36.     while((wyniki = open("wyniki.txt", O_RDWR|O_CREAT|O_EXCL, 0711)) < 0) {}
  37.  
  38.     if(wyniki != 0)
  39.     {
  40.         printf("WIADOMOŚĆ ZWROTNA DLA KLIENTA:\n");
  41.         while(TRUE)
  42.         {
  43.             read(0,znak,1);
  44.  
  45.             if(znak[0] == (char)27)
  46.             {
  47.                 write(wyniki, bufor, licznik);
  48.                 close(wyniki);
  49.                 break;
  50.             }
  51.             bufor[licznik] = znak[0];
  52.             licznik++;
  53.         }
  54.     }
  55. }
  56.  
  57. // OCZYSZCZANIE BUFORÓW
  58. void disconnect()
  59. {
  60.         unlink("bin/lockfile");
  61.         unlink("dane.txt");
  62. }
  63.  
  64. // NAGŁÓWEK DLA SERWERA
  65. void header()
  66. {
  67.   printf("\n");
  68.   printf("┌─┐┌─┐┬─┐┬ ┬┌─┐┬─┐\n");
  69.   printf("└─┐├┤ ├┬┘│││├┤ ├┬┘\n");
  70.   printf("└─┘└─┘┴└─└┴┘└─┘┴└─\n");
  71.   printf("Serwer uruchomiony, oczekuję na zgłoszenia...\n");
  72. }
  73.  
  74. // FUNKCJA GŁÓWNA
  75. int main()
  76. {
  77.   header();
  78.     while(TRUE)
  79.     {
  80.         getMessage();
  81.         sendMessage();
  82.         disconnect();
  83.     printf("\nSerwer oczekuje na kolejne zgłoszenie...");
  84.         printf("\n\n");
  85.     }
  86.     return 0;
  87. }
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