Device-Cheat

udp client server

May 5th, 2020
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.59 KB | None | 0 0
  1. protocol UDP -> client server
  2.  
  3. http://github.com/shfx17
  4.  
  5.  
  6. // CLIENT
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <errno.h>
  11. #include <sys/socket.h>
  12. #include <netinet/in.h>
  13. #include <string.h>
  14. #define MAXLINE 4096
  15. int main(int argc, char **argv)
  16. {
  17. int sockfd,n;
  18. char recvline[MAXLINE+1],buff[MAXLINE+1];
  19. struct sockaddr_in servaddr;
  20. if((sockfd = socket(AF_INET,SOCK_DGRAM,0))<0)
  21. puts("Socket error");
  22. bzero(&servaddr, sizeof(servaddr));
  23. servaddr.sin_family = AF_INET;
  24. if(inet_pton(AF_INET, argv[1],&servaddr.sin_addr)<0)
  25. puts("Problem z formatem");
  26. else
  27. printf("Address %s\n",argv[1]);
  28. if((servaddr.sin_port = htons(atoi(argv[2])))<0)
  29. printf("Zły format PORT");
  30. else
  31. printf("Port polaczenia %d\n",servaddr.sin_port);
  32. while(1){
  33. bzero(buff,sizeof(buff));
  34. puts("Wyslij wiadomosc:");
  35. if(fgets (buff, sizeof(buff), stdin) != NULL)
  36. {
  37. if(sendto(sockfd,buff,strlen(buff), 0, (struct sockaddr *)&servaddr, sizeof(servaddr))<0)
  38. puts("Blad sendto");
  39. else
  40. {
  41. printf("Wysłano: %s\n",buff);
  42. }
  43. recvline[n]=0;
  44. if((recvfrom(sockfd,recvline, MAXLINE, 0, NULL, NULL))<0)
  45. puts("recvfrom error");
  46. printf("Otrzymałem: %s\n", recvline);
  47. if(fputs(recvline, stdout) == EOF)
  48. puts("Nie dziala fputs");
  49. if(n < 0)
  50. puts("Read error");
  51. }
  52. if(close(sockfd)<0){
  53. puts("Close sockfd");
  54. }
  55.  return 0;
  56. }
  57.  
  58.  
  59.  
  60.  
  61. // SERVER
  62.  
  63. #include <stdio.h>
  64. #include<stdlib.h>
  65. #include <errno.h>
  66. #include <sys/types.h>
  67. #include<sys/socket.h>
  68. #include<netinet/in.h>
  69. #include<string.h>
  70. #define MAXLINE 4096
  71. #define LISTENQ 1024
  72. int main (int argc, char **argv)
  73. {
  74. int listenfd;
  75. int len;
  76. struct sockaddr_in servaddr, cliaddr;
  77. char buff[MAXLINE],recvline[MAXLINE],z;
  78. if(argc !=2)
  79. puts("Serverport");
  80. if((listenfd = socket (AF_INET, SOCK_DGRAM, 0 ))<0)
  81. puts("Socket error");
  82. int nn= 240*1024;
  83. setsockopt(listenfd, SOL_SOCKET, SO_RCVBUF, &nn, sizeof(nn));
  84. bzero(&servaddr, sizeof(servaddr));
  85. servaddr.sin_family = AF_INET;
  86. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  87. if((servaddr.sin_port = htons (atoi(argv[1])))<0)
  88. puts("Zły port");
  89. if(bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr))<0)
  90. puts("Bind error");
  91. while(1)
  92. {
  93. len = sizeof(cliaddr);
  94. if((recvfrom (listenfd, recvline, MAXLINE, 0 ,(struct sockaddr* )&cliaddr, &len))>0)
  95. {
  96. printf("Otrzymałem: %s \n",recvline);
  97.  int i, j;
  98. puts("***********************");
  99.  for(i = strlen(recvline) - 1, j = 0; i >= 0; i--, j++) {
  100.  buff[j] = recvline[i];
  101.  }
  102.  printf("Wysylam odpowiedz: %s\n", buff);
  103.  sendto(listenfd, buff, sizeof(buff), 0, (struct sockaddr *)&cliaddr, len);
  104. }
  105. }
  106. if(close(listenfd) == -1)
  107. puts("Bład zamkniecia");
  108. return 0;
  109. }
Add Comment
Please, Sign In to add comment