Google Search

Friday, October 29, 2010

IMPLEMENTATION OF SLIDING WINDOW PROTOCOL NETWORK JAVA PROGRAM

SENDER 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: E:\bin>javac slidsender.java

E:\bin>java slidsender

Enter the no. of frames : 4

Enter 4 Messages to be send

hi...
This is network lab
This program deals with sliding window protocol
Bye

Acknowledgment received for 4 frames

Do you wants to send some more frames : yes

Enter the no. of frames : 3

Enter 3 Messages to be send

This protocol deals with bulk of frames
Acknowledgment is send after receiving bulk of frames
thank you

Acknowledgment received for 7 frames

Do you wants to send some more frames : no

E:\bin>
RECEIVER:


E:\bin>javac slidreceiver.java

E:\bin>java slidreceiver

The received Frame 0 is : hi...

The received Frame 1 is : This is network lab

The received Frame 2 is : This program deals with sliding window protocol

The received Frame 3 is : bye

Acknowledgment sent

The received Frame 4 is : This protocol deals with bulk of frames

The received Frame 5 is : Acknowledgment is send after receiving bulk of frames

The received Frame 6 is : thank you

Acknowledgment sent

E:\bin>

1 comments:

Ten said...

Thanks for this lab.
Then, I want to know how you can do this sliding window in real time network. I MEAN, HOW YOU CAN CONNECT TWO MACHINE(PC), THEN YOU SEND FRAME. PLEASE YOUR HELP IS NEEDED.
THANKS

Post a Comment