Wednesday, October 9, 2013

Sliding Window Program in JAVA


                                  Slide Receiver


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")); 
}


                                         Slide Sender



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(); 
}

No comments:

Post a Comment