Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/types.h>
  5. #include <sys/socket.h>
  6. #include <netinet/in.h>
  7. #include <arpa/inet.h>
  8.  
  9. void server(void) {
  10. int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  11. if(s < 0) {
  12. perror("socket");
  13. exit(1);
  14. }
  15.  
  16. struct sockaddr_in server;
  17. server.sin_family = AF_INET;
  18. server.sin_addr.s_addr = INADDR_ANY;
  19. server.sin_port = htons(8888);
  20.  
  21. if(bind(s, (struct sockaddr *)&server, sizeof(server)) < 0) {
  22. perror("bind");
  23. exit(1);
  24. }
  25.  
  26. while(1) {
  27. char r = 0;
  28.  
  29. if(recv(s, &r, sizeof(r), 0) < 0) {
  30. perror("recv");
  31. exit(1);
  32. }
  33.  
  34. printf("%c", r);
  35. }
  36.  
  37. close(s);
  38. }
  39.  
  40. void client(void) {
  41. int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  42. if(s < 0) {
  43. perror("socket");
  44. exit(1);
  45. }
  46.  
  47. struct sockaddr_in server;
  48. server.sin_family = AF_INET;
  49. server.sin_addr.s_addr = inet_addr("127.0.0.1");
  50. server.sin_port = htons(8888);
  51.  
  52. while(1) {
  53. if(sendto(s, "x", 1, 0, (struct sockaddr *)&server, sizeof(server)) < 0) {
  54. perror("sendto");
  55. exit(1);
  56. }
  57. }
  58.  
  59. close(s);
  60. }
  61.  
  62. int main(void) {
  63. if(fork() == 0) server();
  64. else client();
  65.  
  66. return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement