In: Computer Science
Write a Java program for slidsender and slidreiver
1. Start the program
2. Get the frame size from the user
3. To create the frame based on the user
4. To send frames to server from the client
5. If your frames reach the server it will send ACK signal to client otherwise it will send NACK signal to
6. Stop the program
Program code for slidsender :
---------------------------------------
---------------------------------------
import java.net.*;
import java.io.*;
import java.rmi.*;
public class slidsender
{
public static void main(String a[]) throws Exception
{
ServerSocket ser=new ServerSocket(1024);
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();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Program code for slidreceiver :
---------------------------------------
---------------------------------------
import java.net.*;
import java.io.*;
class slidreceiver
{
public static void main(String a[])throws Exception
{
Socket s=new Socket(InetAddress.getLocalHost(),1024);
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"));
}
}