Wednesday, April 20, 2016

Write A Program To Implement Go-Back & ARQ Protocol.



#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
char a[100];
int s=0,m,w=0,sf=0,sl=0,i=0,r=0,j,x[100],cnt=0,ack=0;

clrscr();
printf("\n Enter String ");
gets(a);
printf("\n Enter Window Size ");
scanf("%d",&m);
w=(pow(2,m)-1);
printf("\n %d",w);
sl=w;

for(i=0;i<strlen(a);i++)
{
if(cnt==w)
cnt=0;
x[i]=cnt;
cnt++;
}

x[i++]=999;
printf("\nFrame\tSender\tReceiver\tData\tFrame\tACK\n");
i=0;

while(i<=strlen(a)-1)
{
for(j=s;j<=sl && x[j]!=999;j++)
printf("%d",x[j]);
printf("\ts=%d|\t|r=%d",x[i],x[i]);
printf("\t\t");
printf("[");
for(j=0;j<=i;j++)
printf("%c",a[j]);
printf("]");
printf("\t");

for(j=0;j<=s;j++)
printf("%d",x[j]);
s++;
sl++;
printf("\tACK");
scanf("%d",&ack);
if(ack==x[i+1])
r=ack;
else
{
if(ack==78)
exit();
s--;
sl--;
i--;
}
printf("\n");
i++;
}
getch();
}

No comments:

Post a Comment