Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement