0% found this document useful (0 votes)
30 views41 pages

Network Lab Programs

The document describes implementations of various networking programs in Java including URL connection, socket programming with TCP and UDP, FTP, echo client/server, ping client/server, and a talk client/server program. Code snippets are provided for servers and clients with outputs showing the programs running and interacting as expected.

Uploaded by

Saran S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views41 pages

Network Lab Programs

The document describes implementations of various networking programs in Java including URL connection, socket programming with TCP and UDP, FTP, echo client/server, ping client/server, and a talk client/server program. Code snippets are provided for servers and clients with outputs showing the programs running and interacting as expected.

Uploaded by

Saran S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

1.

RETRIVING DATA WITH URL


PROGRAM
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class URLConnectionReader1


{
public static void main(String args[])throws Exception
{
Desktop desktop=java.awt.Desktop.getDesktop();
try

{
URI google=new URI("https://www.google.com/");
desktop.browse(google);
}
catch(URISyntaxException e)
{
e.printStackTrace();

}
}
}
Output:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac URLConnectionReader1.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java URLConnectionReader1
2.(A). IMPLEMENTATION OF SOCKET PROGRAMMING USING
TCP
SERVER CODE
import java.lang.*;
import java.io.*;
import java.net.*;
class TCPServer

{
public static void main(String args[])
{
String data="Toobie ornaught toobie";
try
{

ServerSocket srvr=new ServerSocket(1234);


Socket skt=srvr.accept();
System.out.println("server has connected ! \n");
PrintWriter out=new PrintWriter(skt.getOutputStream(),true);
System.out.println("sending string:"+data+"\n");
out.print(data);

out.close();
skt.close();
srvr.close();
}
catch(Exception e)
{

System.out.println("whoops! \t did not work ! \n");


}
}
}
CLIENT CODE
import java.lang.*;
import java.io.*;
import java.net.*;
class TCPClient
{

public static void main(String args[])


{
try
{
Socket skt=new Socket("localhost",1234);
BufferedReader in=new BufferedReader(new InputStreamReader(skt.getInputStream()));

System.out.println("Received string:");
while(!in.ready())
{
}
System.out.println(in.readLine());
System.out.print("\n");
in.close();

}
catch(Exception e)
{
System.out.println("Whoops ! \t didnot work ! \n");
}
}

}
Output:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac TCPServer.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java TCPServer


server has connected !
sending string:Toobie ornaught toobie

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac TCPClient.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java TCPClient
Received string:
Toobie ornaught toobie
2.(B). IMPLEMENTATION OF SOCKET PROGRAMMING USING
UDP
SERVER:
import java.io.*;
import java.net.*;
public class UDPServer1
{
public static void main(String str1[])throws Exception
{

DatagramSocket ds;
byte[] buf=new byte[1024];
ds=new DatagramSocket(200);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the String");
InetAddress ia=InetAddress.getLocalHost();

while(true)
{
String str=new String();
str=br.readLine();
buf=str.getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,ia,300);
ds.send(dp);

if(str.equals("ends"))
break;
}
}
}
CLIENT:
import java.io.*;
import java.net.*;
import java.lang.*;
public class UDPClient1
{

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


{
byte[] buf=new byte[1024];
DatagramSocket ds=new DatagramSocket(300);
DatagramPacket dp=new DatagramPacket(buf,buf.length);
Boolean b=true;

while(true)
{
ds.receive(dp);
buf=dp.getData();
String str=new String(buf,0,dp.getLength());
if(str.equals("ends"));
System.out.println(str);

break;
}
}
}
Output:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac UDPServer1.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java UDPServer1


Enter the String
hiii

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac UDPClient1.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java UDPClient1
hello
3.IMPLEMENTATION OF FTP
SERVER:
import java.io.*;

import java.net.*;
import java.lang.*;
class FTPSer1
{
public static void main(String args[])
{

try
{
ServerSocket s1=new ServerSocket(95);
Socket soc=s1.accept();
System.out.println("connection from:"+soc);
PrintWriter prn=new PrintWriter(soc.getOutputStream(),true);

InputStreamReader isr=new InputStreamReader(System.in);


BufferedReader br1=new BufferedReader(isr);
System.out.println("enter file name");
String fn=br1.readLine();
File f1=new File(fn);
if(f1.exists())
{
BufferedReader br2=new BufferedReader(new FileReader(fn));
String fData;
while((fData=(br2.readLine()))!=null)
{
prn.write(fData);

prn.flush();
}
br2.close();
}
else
System.out.println("file"+f1+"does not exist");

prn.close();
s1.close();
}
catch(IOException e)
{
System.out.println("couldn't found port 95");

System.exit(1);
}
}
}
CLIENT:
import java.io.*;
import java.net.*;

class FTPClient1
{
public static void main(String args[])throws IOException
{
try
{

Socket s1=new Socket(InetAddress.getLocalHost(),95);


InputStreamReader isr=new InputStreamReader(s1.getInputStream());
BufferedReader br=new BufferedReader(isr);
String in;
while((in=br.readLine())!=null)
{

System.out.println("the content of the file is");


System.out.print(in);
}
br.close();
s1.close();
}

catch(UnknownHostException e)
{
System.out.println("localhosterror");
System.exit(1);
}
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac FTPSer1.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java FTPSer1


connection from:Socket[addr=/192.168.0.148,port=50576,localport=95]
enter file name
FILE.txt

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac FTPClient1.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java FTPClient1


the content of the file is
/* HAI !, Hello ! Welcome to Java */
4. (A). IMPLEMENTATION OF ECHO SERVER AND CLIENT USING TCP
SERVER:
import java.io.*;
import java.net.*;

import java.util.*;
public class echoserver{
public static void main(String args[])throws IOException{
ServerSocket m=new ServerSocket(5678);
Socket c=m.accept();
DataInputStream usr_inp=new DataInputStream(c.getInputStream());

DataInputStream din=new DataInputStream(System.in);


DataOutputStream dout=new DataOutputStream(c.getOutputStream());
if(c!=null||usr_inp!=null)
{
String uinp;
while(true)

{
System.out.println("\n Message from client....");
String m1=usr_inp.readLine();
System.out.println(m1);
dout.writeBytes(" "+m1);
dout.writeBytes("\n");

}
}
dout.close();
usr_inp.close();
c.close();
}
}
CLIENT:
import java.io.*;
import java.net.*;
public class echoclient

{
public static void main(String args[])throws IOException
{
Socket c=new Socket("127.0.0.1",5678);
DataInputStream usr_inp=new DataInputStream(c.getInputStream());
DataInputStream din=new DataInputStream(System.in);

DataOutputStream dout=new DataOutputStream(c.getOutputStream());


if(c!=null||usr_inp!=null||dout!=null)
{
String unip;
while ((unip=din.readLine())!=null)
{

dout.writeBytes(unip);
dout.writeBytes("\n");
System.out.println("\n The echoed message");
System.out.println(usr_inp.readLine());
System.out.println("Enter your message");
}

System.exit(0);
}
din.readLine();
c.close();
usr_inp.close();
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac echoserver.java
Note: echoserver.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java echoserver
message from client..
hii

message from client..


java program
message from client..

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac echoclient.java
Note: echoclient.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java echoclient
hii

the echoed message


hii
enter your message
java program
the echoed message
java program

enter your message


4.(B). IMPLEMENTATION OF PING SERVER USING RAW SOCKET
SERVER:
import java.io.*;
import java.net.*;

import java.util.*;
import java.text.*;
class pingserver
{
public static void main(String args[])throws Exception
{

ServerSocket ss=new ServerSocket(5555);


Socket s=ss.accept();
int c=0;
while(c<4)
{
DataInputStream dis=new DataInputStream(s.getInputStream());

PrintStream out=new PrintStream(s.getOutputStream());


String str=dis.readLine();
System.out.println("Reply from"+InetAddress.getLocalHost()+";Length"+str.length());
c++;
}
s.close();

}
}
CLIENT:
import java.io.*;
import java.net.*;
import java.util.Calendar;

class pingclient1
{
public static void main(String args[])throws Exception
{
int c=0;
String str="Welcome to network programming world";

long t1=System.currentTimeMillis();
long t2=System.currentTimeMillis();
Socket s=new Socket("127.0.0.1",5555);
DataInputStream dis=new DataInputStream(s.getInputStream());
PrintStream out=new PrintStream(s.getOutputStream());
while(c<4)

{
out.println(str);
System.out.println(dis.readLine());
System.out.println(";TTL="+(t2-t1)+"ms");
c++;
}

s.close();
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac pingserver.java

Note: pingserver.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java pingserver


Reply fromDESKTOP-NDOHTAB/192.168.0.148;Length36

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac pingclient1.java

Note: pingclient1.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java pingclient1


4.(C). IMPLEMENTATION OF TALK USING TCP
SERVER:
import java.io.*;
import java.net.*;

public class talkserver{


public static void main(String args[])throws Exception{
ServerSocket m=new ServerSocket(1234);
Socket c=m.accept();
DataInputStream usr_inp=new DataInputStream(c.getInputStream());
DataInputStream din=new DataInputStream(System.in);

DataOutputStream dout=new DataOutputStream(c.getOutputStream());


if(c!=null || usr_inp!=null)
{
String unip;
while(true)
{

System.out.println("\n message from client:");


String m1=usr_inp.readLine();
System.out.println(m1);
System.out.println("enter your message:");
unip=din.readLine();
dout.writeBytes(" "+unip);

dout.writeBytes("\n");
}}
dout.close();
usr_inp.close();
c.close();
}
}
CLIENT:
import java.io.*;
import java.net.*;
public class talkclient{

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


{
Socket c=new Socket("127.0.01",1234);
DataInputStream usr_inp=new DataInputStream(c.getInputStream());
DataInputStream din=new DataInputStream(System.in);
DataOutputStream dout=new DataOutputStream(c.getOutputStream());

if(c!=null||usr_inp!=null||dout!=null)
{
String unip;
System.out.println("\n enter the message for server:");
while((unip=din.readLine())!=null)
{

dout.writeBytes(""+unip);
dout.writeBytes("\n");
System.out.println("reply");
System.out.println(usr_inp.readLine());
System.out.println("\n enter your message:");
}

System.exit(0);
}
din.close();
usr_inp.close();
c.close();
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac talkserver.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java talkserver

message from client:


hii
enter your message:
hii! hello
message from client:
java program

enter your message:


c++
message from client:

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac talkclient.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java talkclient
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java talkclient
enter the message for server:

hii
reply
hii! hello
enter your message:
java program
reply

c++
enter your message:
5. IMPLEMENTATION OF REMOTE COMMAND EXECUTION USING TCP
SERVER:
import java.io.*;
import java.net.*;

import java.util.*;
class serverPc
{
public static void main(String args[])
{
try

{
ServerSocket obj=new ServerSocket(139);
while(true)
{
Socket obj1=obj.accept();
DataInputStream din=new DataInputStream(obj1.getInputStream());

DataOutputStream dout=new DataOutputStream(obj1.getOutputStream());


String str=din.readLine();
Process p=Runtime.getRuntime().exec(str);
}
}
catch(IOException e)

{
System.out.println(e);
}
}
}
CLIENT:
import java.io.*;
import java.net.*;
import java.util.*;

class ClientPc
{
public static void main(String args[])
{
try
{

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));


Socket clsct=new Socket("127.0.0.1",139);
DataInputStream din=new DataInputStream(clsct.getInputStream());
DataOutputStream dout=new DataOutputStream(clsct.getOutputStream());
System.out.println("Enter string");
String str=in.readLine();

dout.writeBytes(str+'\n');
clsct.close();
}
catch(IOException e)
{
System.out.println(0);

}
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Serverrpc.java

Note: Serverrpc.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Serverrpc
The Calc command is executed Successfully

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Clienttrpc.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Clienttrpc
Enter string

Calc
6. IMPLEMENTATION OF ARP
SERVER:
import java.io.*;
import java.net.*;

import java.util.*;
class Serverarp
{
public static void main(String args[])
{
try

{
ServerSocket obj=new ServerSocket(139);
Socket obj1=obj.accept();
while(true)
{
DataInputStream din=new DataInputStream(obj1.getInputStream());

DataOutputStream dout=new DataOutputStream(obj1.getOutputStream());


String str=din.readLine();
String ip[]={"165.165.80.80","165.165.79.1"};
String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"};
for(int i=0;i<ip.length;i++)
{

if(str.equals(ip[i]))
{
dout.writeBytes(mac[i]+'\n'); break;
}
}
obj.close();
}
}
catch(Exception e)
{
System.out.println(e);

}}
}

CLIENT:
import java.io.*;
import java.net.*;
import java.util.*;

class Clientarp
{
public static void main(String args[])
{
try
{

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));


Socket clsct=new Socket("127.0.0.1",139); DataInputStream din=new
DataInputStream(clsct.getInputStream());
DataOutputStream dout=new DataOutputStream(clsct.getOutputStream());

System.out.println("Enter the Logical address(IP):"); String str1=in.readLine();


dout.writeBytes(str1+'\n');
String str=din.readLine();
System.out.println("The Physical Address is: "+str); clsct.close();
}
catch (Exception e)

{
System.out.println(e);
}
}}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Serverarp.java

Note: Serverarp.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Serverarp
java.lang.NullPointerException

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Clientarp.java
Note: Clientarp.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Clientarp


Enter the Logical address(IP):
165.165.80.80
The Physical Address is: 6A:08:AA:C2
7. IMPLEMENTATION OF RARP
SERVER
import java.io.*;
import java.net.*;

import java.util.*;
class Serverrarp{
public static void main(String args[]){
try
{
ServerSocket obj=new ServerSocket(139);

Socket obj1=obj.accept();
while(true)
{
DataInputStream din=new DataInputStream(obj1.getInputStream());
DataOutputStream dout=new DataOutputStream(obj1.getOutputStream());
String str=din.readLine();

String ip[]={"165.165.80.80","165.165.79.1"};
String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"};
for(int i=0;i<mac.length;i++)
{
if(str.equals(mac[i]))
{

dout.writeBytes(ip[i]+'\n');
break;
}}
obj.close();
}}
catch(Exception e)
{
System.out.println(e);
}
}
}

CLIENT:
import java.io.*;
import java.net.*;
import java.util.*;
class Clientrarp1{
public static void main(String args[]){

try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
Socket clsct=new Socket("127.0.0.1",139);
DataInputStream din=new DataInputStream(clsct.getInputStream());
DataOutputStream dout=new DataOutputStream(clsct.getOutputStream());

System.out.println("Enter physical address(mac):");


String str1=in.readLine();
dout.writeBytes(str1+'\n');
String str=din.readLine();
System.out.println("The logical address is:"+str);
clsct.close();

}
catch(Exception e)
{
System.out.println(e);
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Serverrarp.java
Note: Serverrarp.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Serverrarp

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Clientrarp1.java
Note: Clientrarp1.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Clientrarp1


Enter physical address(mac):
6A:08:AA:C2
The logical address is:165.165.80.80
8. IMPLEMENTATION OF RMI/RPC

SERVER:
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import java.net.*;

import java.io.*;
public class rmiserver1
{
public static void main(String args[])throws Exception
{
try

{
implement i=new implement();
Naming.rebind("server",i);
System.out.println("\n Server is ready");
}
catch(Exception e)
{

System.out.println("Exception:"+e);
}
}
}
INTERFACE:
import java.rmi.*;
import java.rmi.server.*;
public interface interface1 extends Remote{
public void fact(int n)throws RemoteException;
}

CLIENT:
import java.rmi.*;
import java.rmi.registry.*;

import java.net.*;
import java.io.*;
public class rmiclient1{
public static void main(String args[])throws RemoteException
{
try

{
String host="rmi:/server";
inter a=(inter) Naming.lookup(host);
System.out.println("enter any number:");
DataInputStream dis=new DataInputStream(System.in);
int n=Integer.parseInt(dis.readLine());
a.fact(n);
}
catch(Exception e)
{
System.out.println("exception:"+e);
}

}
}
IMPLEMENT:
import java.rmi.server.*;
import java.rmi.registry.*;
import java.rmi.*;
import java.io.*;
public class implement1 extends UnicastRemoteObject implements interface1

{
public implement1()throws RemoteException
{
}
public void fact(int n)throws RemoteException
{

int f=1;
for(int i=1;i<=n;i++)
f=f*i;
System.out.println("the factorial of"+n+"is"+f);
}
}
OUTPUT:
Server:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac interface1.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac implement1.java


C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac rmiserver1.java
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>start rmiregistry
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java rmiserver1
Server is ready
the factorial of 3is6

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac rmiclient1.java

Note: rmiclient1.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java rmiclient1
enter any number:
3
9. IMPLEMENTATION OF SHORTEST PATH ROUTING ALGORITHM
PROGRAM
import java.io.*;
import java.util.*;

public class Dijkstra{


public int distance[]=new int[10];
public int cost[][]=new int[10][10];
public void calc(int n,int s)
{
int flag[]=new int[n+1];

int i,minpos=1,k,c,minimum;
for(i=1;i<=n;i++)
{
flag[i]=0;
this.distance[i]=this.cost[s][i];
}

c=2;
while(c<=n)
{
minimum=99;
for(k=1;k<=n;k++)
{

if(this.distance[k]<minimum&&flag[k]!=1)
{
minimum=this.distance[i];
minpos=k;
}
}
flag[minpos]=1;
c++;
for(k=1;k<=n;k++)
{
if(this.distance[minpos]+this.cost[minpos][k]<this.distance[k]&&flag[k]!=1)this.distance[k]=
this.distance[minpos]+this.cost[minpos][k];
}
}}
public static void main(String args[]){

int nodes,source,i,j;
Scanner in=new Scanner(System.in);
System.out.println("Enter the Number of Nodes \n");
nodes=in.nextInt();
Dijkstra d=new Dijkstra();
System.out.println("enter the cost Matrix weights:\n");

for(i=1;i<=nodes;i++)
for(j=1;j<=nodes;j++)
{
d.cost[i][j]=in.nextInt();
if(d.cost[i][j]==0)
d.cost[i][j]=999;

}
System.out.println("enter the sourse vertex:\n");
source=in.nextInt();
d.calc(nodes,source);
System.out.println("the shortest path form source \t"+source+"\t to all other vertice are:\n");
for(i=1;i<=nodes;i++)

if(i!=source)
System.out.println("source:"+source+"\t destination:"+i+"\t Mincost is:"+d.distance[i]+"\t");
}
}
OUTPUT:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac Dijkstra.java

C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java Dijkstra

Enter the Number of Nodes


4
Enter the cost Matrix Weights:
0 3 999 7
3 0 4 2
999 4 0 5

7 2 5 0
Enter the Source Vertex:
1
The shortest path form source 1 to all other veticec are:

source:1 destination:2 Mincost is:3

source:1 destination:3 Mincost is:7


source:1 destination:4 Mincost is:5
10. IMPLEMENTATION OF SLIDING WINDOW PROTOCOL
SENDER:
import java.net.*;

import java.io.*;
import java.rmi.*;
public class slidesender
{
public static void main(String args[]) throws IOException
{

int sptr=0,sws=8,nf,ano,i;
String ch;
ServerSocket ser=new ServerSocket(10);
Socket s=ser.accept();
DataInputStream in=new DataInputStream(System.in);
DataInputStream in1=new DataInputStream(s.getInputStream());

PrintStream p=new PrintStream(s.getOutputStream());


String sbuff[]=new String[8];
do
{
System.out.println("Enter the no of frames:");
nf=Integer.parseInt(in.readLine());

p.println(nf);
if(nf<=sws-1)
{
System.out.println("Enter"+nf+"Message 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.println("Acknowledge 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.println("\nDo you wants to send some more frames:");
ch=in.readLine();

p.println(ch);
}
while(ch.equals("yes"));
s.close();
}
}

RECEIVER:
import java.net.*;
import java.io.*;
class slidereceiver{
public static void main(String args[]) throws IOException
{
int i=0,rptr=-1,nf,rws=8;
String ch;
Socket s=new Socket(InetAddress.getLocalHost(),10);
DataInputStream in=new DataInputStream(s.getInputStream());
PrintStream p=new PrintStream(s.getOutputStream());

String rbuf[]=new String[8];


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("\n Acknowledge sent\n");
p.println(rptr+1);
rws+=nf;
}

else
break;
ch=in.readLine();
}
while(ch.equals("yes"));
}
}
OUTPUT:
Sender:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac slidesender.java

Note: slidesender.java uses or overrides a deprecated API.


Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java slidesender
enter the no.of frames:
3
Enter3Message to be send

hii
hello
welcome
Acknowledged received
for3frames
Do you wants to send some more frames:

No

Client:
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>javac slidreceiver.java
Note: slidreceiver.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\Program Files (x86)\Java\jdk1.6.0_10\bin>java slidreceiver
The received Frame0is:hii
The received Frame1is:hello

The received Frame2is:welcome

Acknowledged sent

You might also like