Showing posts with label SIMULATON OF SLIDING WINDOW PROTOCOL. Show all posts
Showing posts with label SIMULATON OF SLIDING WINDOW PROTOCOL. Show all posts

Sunday, June 14, 2015

SIMULATON OF SLIDING WINDOW PROTOCOL

SERVER SIDE:

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
int main(int argc,char **argv)
{
int len;
int listenfd,connfd,n;
struct sockaddr_in servaddr,cliaddr;
char b[1024];
char c[1000];
listenfd=socket(AF_INET,SOCK_STREAM,0);
if(listenfd<0)
perror("cannot create socket");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=inet_addr("20.30.1.211");
servaddr.sin_port=htons(20064);
bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
listen(listenfd,5);
len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr*)&cliaddr,&len);
if(connfd>0)
printf("\n connection established");
do
{
n=read(connfd,b,1024);
printf("\n reeive data %s",b);
printf("\n your acknowledgement[yes=1,no=0]:");
scanf("%s",c);
n=write(connfd,c,1024);
}while(1);
close(connfd);
close(listenfd);
return 0;
}


CLIENT SIDE:

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
int main(int arg,char **argv)
{
int len;
int sockfd,n,m,p;
struct sockaddr_in servaddr,cliaddr;
char buff[1024];
char buff1[1000];
char str[1000];
char d[10]={'a','b','c','d','e','f','g','h','i','j'};
int count[10],ack[10];
int i,j,k;
for(k=0;k<10;k++)
{
count[k]=0;
ack[k]=0;
}