vegeta322

TCP Client

Jan 21st, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <sys/socket.h>
  4. #include <arpa/inet.h>
  5. #include <fcntl.h>
  6. #include <unistd.h>
  7.  
  8. #define DEFAULT_BUFLEN 512
  9. #define DEFAULT_PORT 27015
  10.  
  11. unsigned int sleep(unsigned int seconds);
  12.  
  13. int Meni1() {
  14. int op;
  15. system("clear");
  16. printf("1.) Registruj se\n");
  17. printf("2.) Loginuj se\n");
  18. printf("Izaberite opciju: ");
  19. scanf("%d", &op);
  20.  
  21. return op;
  22. }
  23.  
  24. int Meni2() {
  25. int op;
  26. system("clear");
  27. printf("1.) Upload datoteku na server \n");
  28. printf("2.) Download datoteku sa servera \n");
  29. printf("3.) Prikazi listu datoteka \n");
  30. printf("4.) Odjava sa servera \n");
  31. printf("Izaberite opciju: ");
  32. scanf("%d", &op);
  33.  
  34. return op;
  35. }
  36.  
  37. int main(int argc , char *argv[])
  38. {
  39. int sock;
  40. struct sockaddr_in server;
  41. char message[10];
  42. ///////////////
  43. char username[DEFAULT_BUFLEN];
  44. char password[10];
  45. int opcija;
  46. int flagreg = -1;
  47. int flaglog = -1;
  48.  
  49. //Create socket
  50. sock = socket(AF_INET , SOCK_STREAM , 0);
  51. if (sock == -1)
  52. {
  53. printf("Could not create socket");
  54. }
  55. puts("Socket created");
  56.  
  57. server.sin_addr.s_addr = inet_addr("10.81.30.45");
  58. server.sin_family = AF_INET;
  59. server.sin_port = htons(DEFAULT_PORT);
  60.  
  61. //Connect to remote server
  62. if (connect(sock , (struct sockaddr *)&server , sizeof(server)) < 0)
  63. {
  64. perror("connect failed. Error");
  65. return 1;
  66. }
  67. puts("Connected\n");
  68.  
  69. while(1) {
  70.  
  71. opcija = Meni1();
  72. send(sock, &opcija, sizeof(opcija), 0);
  73. switch(opcija) {
  74. case 1 :
  75. system("clear");
  76. printf("* Registracija *\n");
  77. printf("Unesite username: ");
  78. scanf("%s", username);
  79. if(send(sock, username, strlen(username), 0) < 0) {
  80. printf("Klijent: neuspesno slanje");
  81. return 1;
  82. }
  83. printf("Unesite password: ");
  84. scanf("%s", password);
  85. if(send(sock, password, strlen(password), 0) < 0) {
  86. printf("Klijent: neuspesno slanje");
  87. return 1;
  88. }
  89. recv(sock, &flagreg, sizeof(flagreg), 0);
  90. printf("Flagreg : %d\n", flagreg);
  91. break;
  92. case 2 :
  93. system("clear");
  94. printf("* Login *\n");
  95. printf("Unesite username: ");
  96. scanf("%s", username);
  97. if(send(sock, username, strlen(username), 0) < 0) {
  98. printf("Klijent: neuspesno slanje");
  99. return 1;
  100. }
  101. printf("Unesite password: ");
  102. scanf("%s", password);
  103. if(send(sock, password, strlen(password), 0) < 0) {
  104. printf("Klijent: neuspesno slanje");
  105. return 1;
  106. }
  107. recv(sock, &flaglog, sizeof(flaglog), 0);
  108. printf("Flagreg : %d\n", flaglog);
  109. break;
  110. default :
  111. printf("Pogresna opcija\n");
  112. sleep(1);
  113. break;
  114. }
  115. sleep(3);
  116. system("clear");
  117. if(flagreg == 0)
  118. break;
  119. else if(flaglog == 0)
  120. break;
  121. }
  122.  
  123. while(1) {
  124.  
  125. opcija = Meni2();
  126. send(sock, &opcija, sizeof(opcija), 0);
  127. switch(opcija) {
  128. case 1 :
  129. system("clear");
  130. printf("Upload\n");
  131. sleep(2);
  132. break;
  133. case 2 :
  134. system("clear");
  135. printf("Download\n");
  136. sleep(2);
  137. break;
  138. case 3 :
  139. system("clear");
  140. printf("Listanje datoteka\n");
  141. sleep(2);
  142. break;
  143. case 4 :
  144. system("clear");
  145. printf("Uspesno ste odjavljeni sa servera\n");
  146. sleep(1);
  147. break;
  148. default :
  149. printf("Pogresna opcija\n");
  150. sleep(1);
  151. break;
  152. }
  153. if(opcija == 4)
  154. break;
  155. }
  156.  
  157. close(sock);
  158.  
  159. return 0;
  160. }
Add Comment
Please, Sign In to add comment