Thursday, February 25, 2016

Implementation of Stop and Wait Protocol and Sliding Window Protocol

AIM: To write a java program to perform sliding window.

ALGORITHM:
1.Start the program.
2.Get the frame size from the user
3.To create the frame based on the user request.
 4.To send frames to server from the client side.
5.If your frames reach the server it will send ACK signal to client otherwise it will send NACK signal to client.
6.Stop the program

Program :
import java.net.*; import java.io.*; import java.rmi.*;

public class slidsender

{

public static void main(String a[])throws Exception

{

ServerSocket ser=new ServerSocket(10); Socket s=ser.accept();

DataInputStream in=new DataInputStream(System.in); DataInputStream in1=new DataInputStream(s.getInputStream()); String sbuff[]=new String[8];

PrintStream p;

int sptr=0,sws=8,nf,ano,i; String ch;

do

{

p=new PrintStream(s.getOutputStream()); System.out.print("Enter the no. of frames : "); nf=Integer.parseInt(in.readLine()); p.println(nf);

if(nf<=sws-1)

{

System.out.println("Enter "+nf+" Messages to be send\n"); for(i=1;i<=nf;i++)

{

sbuff[sptr]=in.readLine();
p.println(sbuff[sptr]);

sptr=++sptr%8;

}

sws-=nf;

System.out.print("Acknowledgment received"); ano=Integer.parseInt(in1.readLine()); System.out.println(" for "+ano+" frames"); sws+=nf;

}

else

{

System.out.println("The no. of frames exceeds window size"); break;

}

System.out.print("\nDo you wants to send some more frames : "); ch=in.readLine(); p.println(ch);

}

while(ch.equals("yes"));

s.close();

}

}


RECEIVER PROGRAM


import java.net.*; import java.io.*; class slidreceiver

{

public static void main(String a[])throws Exception

{

Socket s=new Socket(InetAddress.getLocalHost(),10); DataInputStream in=new DataInputStream(s.getInputStream()); PrintStream p=new PrintStream(s.getOutputStream());

int i=0,rptr=-1,nf,rws=8; String rbuf[]=new String[8]; String ch; System.out.println(); do

{

nf=Integer.parseInt(in.readLine()); if(nf<=rws-1)

{



for(i=1;i<=nf;i++)

{

rptr=++rptr%8;

rbuf[rptr]=in.readLine();

System.out.println("The received Frame " +rptr+" is : "+rbuf[rptr]);

}

rws-=nf; System.out.println("\nAcknowledgment sent\n"); p.println(rptr+1); rws+=nf; }

else break;

ch=in.readLine();

}

while(ch.equals("yes"));

}

}


OUTPUT:


//SENDER OUTPUT

Enter the no. of frames : 4 Enter 4 Messages to be send


hiii how r u

i am fine

how is evryone

Acknowledgment received for 4 frames


Do you wants to send some more frames : no


//RECEIVER OUTPUT


The received Frame 0 is : hiii

The received Frame 1 is : how r u

The received Frame 2 is : i am fine


The received Frame 3 is : how is everyone

No comments:

Post a Comment