Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include<sys/types.h>
  2. #include<sys/socket.h>
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include<netinet/in.h>
  6. #include<arpa/inet.h>
  7. #include<unistd.h>
  8. #include<string.h>
  9.  
  10. /* A. Mroz - zadanie na SK, do modyfikacji */
  11. /* bez pelnej obslugi bledow! */
  12.  
  13. #define MY_MSG_SIZE 127
  14.  
  15. int main(int argc, char *argv[]) {
  16.  
  17. int sockfd;
  18. struct sockaddr_in server_addr;
  19. char msg[MY_MSG_SIZE];
  20. int connectresult;
  21. int bytes;
  22.  
  23. /* przygotowanie adresu serwera */
  24. server_addr.sin_family = AF_INET; /* IPv4 */
  25. /* 1 argument = adres IP serwera */
  26. server_addr.sin_addr.s_addr = (inet_addr(argv[1]));
  27. /* 2 argument = port serwera*/
  28. server_addr.sin_port = htons((u_short)atoi(argv[2]));
  29.  
  30. /* towrze gniazdo - na razie tylko czesc "protokol" */
  31. sockfd = socket(AF_INET, SOCK_STREAM, 0);
  32.  
  33. connectresult = connect(sockfd,
  34. (struct sockaddr *)&server_addr, sizeof(server_addr));
  35.  
  36. printf("[Klient]: Lacze z gniazdem TCP (%s)\n",
  37. (connectresult == 0)?"OK":"blad polaczenia");
  38.  
  39.  
  40. printf("[Klient]: Podaj wiadomosc do serwera:\n> ");
  41. fgets(msg, MY_MSG_SIZE, stdin);
  42. msg[strlen(msg)-1] = '\0';
  43.  
  44.  
  45. printf("[Klient]: wysylam...");
  46.  
  47. bytes = write(sockfd, msg, strlen(msg));
  48.  
  49. printf(" (%s: %zd bajtow)\n", (bytes > 0)?"OK":"cos nie tak!", bytes);
  50.  
  51. close(sockfd);
  52.  
  53. return 0;
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement