Advertisement
4doorsmorehories

Client Go Back N

Apr 18th, 2023
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.08 KB | None | 0 0
  1. #include <arpa/inet.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdbool.h>
  5. #include <sys/socket.h>
  6. #include <unistd.h>
  7. #define PORT 8080
  8.  
  9. void transfer(int sock){
  10.  
  11.       int i,e=0;
  12.      while(read(sock,&i,sizeof(i))!=0){
  13.      if(e==i){
  14.      printf("Frame %d recived\t",e);
  15.      e++;
  16.      i++;
  17.      write(sock,&i,sizeof(i));
  18.      printf("Ack %d\n",i);
  19.      }
  20.       }
  21. }
  22.  
  23. int main(int argc, char const* argv[])
  24. {
  25.     int sock = 0, valread, client_fd,n;
  26.     struct sockaddr_in serv_addr;
  27.     char str[5];
  28.     char buffer[1024] = { 0 };
  29.     if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
  30.         printf("\n Socket creation error \n");
  31.         return -1;
  32.     }
  33.  
  34.     serv_addr.sin_family = AF_INET;
  35.     serv_addr.sin_port = htons(PORT);
  36.     if (inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr)
  37.         <= 0) {
  38.         printf(
  39.             "\nInvalid address/ Address not supported \n");
  40.         return -1;
  41.     }
  42.     if ((client_fd
  43.         = connect(sock, (struct sockaddr*)&serv_addr,
  44.                 sizeof(serv_addr)))
  45.         < 0) {
  46.         printf("\nConnection Failed \n");
  47.         return -1;
  48.     }
  49.         transfer(sock);
  50.     close(client_fd);
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement