Facebook
From Vijay , 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 406
  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <netinet/in.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6.  
  7. int main()
  8. {
  9.     int sd, sd2, clilen, sport, i, client_socket, count = 0, val;
  10.     int port;
  11.     char data[50], senderdata[50];
  12.     int window_size;
  13.     int frame = 0;
  14.     int ACK;
  15.  
  16.     struct sockaddr_in servaddr, cliaddr;
  17.     printf("Enter Server Port : ");
  18.     scanf("%d", &sport;);
  19.     printf("Server Port : %dn", sport);
  20.     sd = socket(AF_INET, SOCK_STREAM, 0);
  21.     if (sd < 0)
  22.     {
  23.         printf("Can't create Socketn");
  24.     }
  25.     else
  26.     {
  27.         printf("Socket Createdn");
  28.     }
  29.     servaddr.sin_family = AF_INET;
  30.     servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  31.     servaddr.sin_port = htons(sport);
  32.     sd2 = bind(sd, (struct sockaddr *)&servaddr;, sizeof(servaddr));
  33.     if (sd2 < 0)
  34.     {
  35.         printf("Can't Bindn");
  36.     }
  37.     else
  38.     {
  39.         printf("Bindedn");
  40.     }
  41.  
  42.     listen(sd, 5);
  43.     clilen = sizeof(cliaddr);
  44.     client_socket = accept(sd, (struct sockaddr *)&cliaddr;, &clilen;);
  45.     if (client_socket < 0)
  46.     {
  47.         printf("Can't Acceptn");
  48.     }
  49.     else
  50.     {
  51.         printf("Acceptedn");
  52.     }
  53.     recv(client_socket, &window;_size, sizeof(window_size), 0);
  54.     while (frame < window_size)
  55.     {
  56.         for (i = 0; i < window_size; i++)
  57.         {
  58.             recv(client_socket, &frame;, sizeof(frame), 0);
  59.             printf("Transmitted frames received from the Clientn");
  60.             frame++;
  61.             if (frame == window_size)
  62.             {
  63.                 break;
  64.             }
  65.         }
  66.         printf("nEnter the negative acknowledgment to be sent to the Client : ");
  67.         scanf("%d", &ACK;);
  68.         send(client_socket, &ACK;, sizeof(ACK), 0);
  69.         if (ACK == window_size)
  70.         {
  71.             break;
  72.         }
  73.         else
  74.         {
  75.             frame = ACK;
  76.         }
  77.     }
  78.     return 0;
  79. }
  80.  
  81.