Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. /*Сервер должен быть запущен в 1-ой консоли */
  2. #include <sys/types.h>
  3. #include <sys/socket.h>
  4. #include <netinet/in.h>
  5. #include <stdio.h>
  6. #include <errno.h>
  7. #define PORT 6969
  8. #define BUFSIZE 16
  9. int sock;
  10. struct sockaddr_in addr;
  11. char buf[BUFSIZE];
  12. int bytes_read, total = 0;
  13.  
  14. int main() {
  15. sock = socket(AF_INET, SOCK_DGRAM, 0);
  16. addr.sin_family = AF_INET;
  17. addr.sin_port = htons(PORT);
  18. addr.sin_addr.s_addr = htonl(INADDR_ANY);
  19. bind(sock, (struct sockaddr *)&addr, sizeof(addr));
  20.  
  21. while(1) {
  22. bytes_read = recvfrom(sock, buf, BUFSIZE, 0, NULL, NULL);
  23. total = total + bytes_read;
  24. buf[bytes_read] = '\0';
  25. fprintf(stdout, buf);fflush(stdout);
  26. if (total>BUFSIZE) break;
  27. }
  28. printf("\nTotal %d bytes received", total);
  29. return 0;
  30. }
  31. /* Клиент должен быть запущен во 2-ой консоли */
  32. #include <sys/types.h>
  33. #include <sys/socket.h>
  34. #include <netinet/in.h>
  35. #include <stdio.h>
  36. #include <errno.h>
  37. #include <string.h>
  38. #define PORT 6969
  39. char ss[]={"Hello world"};
  40. int sock;
  41. struct sockaddr_in addr;
  42.  
  43. int main() {
  44. sock = socket(AF_INET, SOCK_DGRAM, 0);
  45. addr.sin_family = AF_INET;
  46. addr.sin_port = htons(PORT);
  47. addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
  48. connect(sock, (struct sockaddr *)&addr, sizeof(addr));
  49. send(sock, ss, strlen(ss), 0);
  50. close(sock);
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement