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
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)
{
{
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