+ All Categories
Home > Documents > Networking Lab programs(2009-10)

Networking Lab programs(2009-10)

Date post: 27-Apr-2015
Category:
Upload: surendraninfotech
View: 835 times
Download: 0 times
Share this document with a friend
44
/* Ex.No: 01 RETRIVING DATA FROM URL */ import java.io.*; import java.net.*; class hello { public static void main(String args[]) { if(args.length>0) { try { URL u=new URL(args[0]); URLConnection uc=u.openConnection(); InputStream raw=uc.getInputStream(); InputStream buffer=new BufferedInputStream(raw); Reader r=new InputStreamReader(buffer); int c; while((c=r.read())!=-1) System.out.print((char)c); } catch(MalformedURLException e) { System.err.println(args[0]+ "is not a parseable URL"); } catch(IOException e) { System.err.println(e);}
Transcript
Page 1: Networking Lab programs(2009-10)

/* Ex.No: 01 RETRIVING DATA FROM URL */

import java.io.*;

import java.net.*;

class hello

{

public static void main(String args[])

{

if(args.length>0)

{

try

{

URL u=new URL(args[0]);

URLConnection uc=u.openConnection();

InputStream raw=uc.getInputStream();

InputStream buffer=new BufferedInputStream(raw);

Reader r=new InputStreamReader(buffer);

int c;

while((c=r.read())!=-1) System.out.print((char)c);

}

catch(MalformedURLException e)

{

System.err.println(args[0]+ "is not a parseable URL");

}

catch(IOException e)

{ System.err.println(e);}

}

}

}

Page 2: Networking Lab programs(2009-10)

OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac hello.java

C:\Program Files\Java\jdk1.6.0\bin>java hello http://127.0.0.1

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; U; SunOS 5.6 sun4u) [Netscape]"></head><body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">

<hr SIZE=10 NOSHADE WIDTH="100%"><img SRC="oraclelogo.gif" height=44 width=188><h1><b><font face="Times New Roman,Times"><font size=+4>Oracle HTTP Server</font></font></b></h1>

<h3><font face="Times New Roman,Times"><font size=+4>Components</font></font></h3>

<blockquote><li><font face="Times New Roman,Times"><font size=+2><a href="manual/index.html">Apache</a></font></font></li>

<li><font face="Times New Roman,Times"><font size=+2><a href="/jservdocs/">JServ</a></font></font></li>

Page 3: Networking Lab programs(2009-10)

*/ Ex.No:2 a Implementation of Socket Programming using TCP/IP */

Server:import java.io.*;

import java.net.*;

class Server

{

public static void main(String []args)throws IOException { try { ServerSocket s=new ServerSocket(3128);

System.out.println("\n Waiting for clients...");

Socket c=s.accept();

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

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

p.println("Hello");

System.out.println("Connection Established");

while(true)

{

String msg=br.readLine();

System.out.println("\n"+msg);

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

String inf=in.readLine();

if(inf.equals("exit")) break;

p.flush();

p.println(inf); } c.close(); } catch(Exception e) { System.out.println("Error: "+e); } } }

Page 4: Networking Lab programs(2009-10)

Client:

import java.io.*;

import java.net.*;

class Client{ public static void main(String [] args) throws IOException { try { Socket c=new Socket("itflab105",3128);

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

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

String inf,msg;

System.out.println("Connection request.....");

System.out.println("Connected");

while(true)

{

msg=br.readLine();

System.out.println("\n"+msg);

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

inf=in.readLine();

if(inf.equals("exit")) break;

p.println(inf);

}

c.close();

}

catch(Exception e)

{

System.out.println("Error: "+e);

}

}

}

Page 5: Networking Lab programs(2009-10)

/* Server Output */

C:\Program Files\Java\jdk1.6.0\bin>javac Server.java

C:\Program Files\Java\jdk1.6.0\bin>java Server

Waiting for clients... Connection Established

hi how are u Enter Message: i am fine

where are u

Enter Message: i am in Trichy

null

/* Client Output */

C:\Program Files\Java\jdk1.6.0\bin>javac Client.java

C:\Program Files\Java\jdk1.6.0\bin>java Client Connection request..... Connected

Hello

Enter message: hi how are u

i am fine

Enter message: Where are u

I am in trichy

Enter message: Exit

Page 6: Networking Lab programs(2009-10)

/* Ex.No:2b Implementation of Socket Programming – by UDP */

SERVER:

import java.io.*;

import java.net.*;

class UServer

{

public static int serport=3128;

public static int cliport=3127;

public static int bs=1024;

public static DatagramSocket ds;

public static byte buf[]=new byte[bs];

public static byte buffer[]=new byte[bs];

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

{

ds=new DatagramSocket(cliport);

while(true)

{

DatagramPacket p=new DatagramPacket(buffer,buffer.length);

ds.receive(p);

System.out.println("Message for server");

System.out.println(new String(p.getData(),0,p.getLength()));

System.out.println("Enter message for client:");

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

String inf=in.readLine();

if(inf.equals("exit")) break;

buf=inf.getBytes();

ds.send(new DatagramPacket(buf,inf.length(),InetAddress.getLocalHost(),serport));

}

}

}

Page 7: Networking Lab programs(2009-10)

CLIENT:

import java.io.*;

import java.net.*;

class UClient

{

public static int serport=3128;

public static int cliport=3127;

public static int bs=1024;

public static DatagramSocket ds;

public static byte buf[]=new byte[bs];

public static byte buffer[]=new byte[bs];

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

{

ds=new DatagramSocket(serport);

while(true)

{

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

System.out.println("enter the message for server");

String inf=in.readLine();

if(inf.equals("exit")) break;

buffer=inf.getBytes();

ds.send(new DatagramPacket(buffer,inf.length(),InetAddress.getLocalHost(),cliport));

DatagramPacket p=new DatagramPacket(buf,buf.length);

ds.receive(p);

System.out.println("Message from server");

System.out.println(new String(p.getData(),0,p.getLength()));

}

}

}

Page 8: Networking Lab programs(2009-10)

SERVER OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac UServer.java

C:\Program Files\Java\jdk1.6.0\bin>java UServer

Message for server

hai

Enter message for client:

hai

Message for server

how are you

Enter message for client:

I am fine

CLIENT OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac UClient.java

C:\Program Files\Java\jdk1.6.0\bin>java UClient

enter the message for server

hai

Message from server

hai

enter the message for server

how are you

Message from server

I am fine

enter the message for server

exit

Page 9: Networking Lab programs(2009-10)

/* Ex.No: 03 Implementation of FTP */

Server:

import java.io.*;

import java.net.*;

class FServer

{

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

{

ServerSocket s=new ServerSocket(3128);

Socket c;

System.out.println("\n Waiting for clients...");

c=s.accept();

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

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

String inf,msg;

System.out.println("Connection Established");

inf=br.readLine();

System.out.println("Client wants file:"+inf);

File ff=new File(inf);

if(ff.exists())

{

BufferedReader b=new BufferedReader(new FileReader(ff));

String u;

while((u=b.readLine())!=null) p.write(u);

}

p.close();

s.close();

}

}

Page 10: Networking Lab programs(2009-10)

Client:

import java.io.*;

import java.net.*;

class FClient

{

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

{

Socket c=new Socket(InetAddress.getLocalHost(),3128);

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

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

System.out.println("Connection request.....");

System.out.println("Connected");

System.out.println("Enter the filename:");

String f=in.readLine();

p.println(f);

p.flush();

String inp;

while((inp=br.readLine())!=null)

{

System.out.println(inp);

}

c.close();

}

}

Page 11: Networking Lab programs(2009-10)

Server Output:

C:\Program Files\Java\jdk1.6.0\bin>javac FServer.java

C:\Program Files\Java\jdk1.6.0\bin>java FServer

Waiting for clients...

Connection Established

Client wants file:network.txt

Client Output:

C:\Program Files\Java\jdk1.6.0\bin>javac FClient.java

C:\Program Files\Java\jdk1.6.0\bin>java FClient

Connection request.....

Connected

Enter the filename: network.txt

Computer networks: A computer network, often simply referred to as a network, is a

collection of computers and devices connected by communications channels that

facilitates communications among users and allows users to share

resources with other users.

Page 12: Networking Lab programs(2009-10)

/* Ex.No:04 Implementation of Ping Command */

import java.net.*;

import java.io.*;

import java.util.*;

public class pingTest

{

public static void main(String[] args)

{

String pingResult = "";

try

{

Runtime r = Runtime.getRuntime();

Process p = r.exec("ping 10.1.1.3");

BufferedReader in = new BufferedReader(new

InputStreamReader(p.getInputStream()));

String inputLine;

while ((inputLine = in.readLine()) != null)

{

System.out.println(inputLine);

pingResult += inputLine;

}

in.close();

}

catch (IOException e)

{

System.out.println(e);

}

}

}

Page 13: Networking Lab programs(2009-10)

Output:

C:\Program Files\Java\jdk1.6.0\bin>javac pingTest.java

C:\Program Files\Java\jdk1.6.0\bin>java pingTest

Pinging 10.1.1.3 with 32 bytes of data:

Reply from 10.1.1.3: bytes=32 time<1ms TTL=64

Reply from 10.1.1.3: bytes=32 time<1ms TTL=64

Reply from 10.1.1.3: bytes=32 time<1ms TTL=64

Reply from 10.1.1.3: bytes=32 time<1ms TTL=64

Ping statistics for 10.1.1.3:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

Page 14: Networking Lab programs(2009-10)

Ex.No:04 a) Implementation of ECHO command

SERVER: import java.io.*;import java.net.*;

class echoser{public static void main(String args[])throws IOException{try{ServerSocket s=new ServerSocket(3128);

while(true)

{

Socket c=s.accept();

System.out.println("Connected to "+c);

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

System.out.println("connection established...");

String inf,msg;

do

{

inf=br.readLine();

if(inf!=null) p.println("SERVER: "+inf);

System.out.print(" Message from client :”+inf);

}

while(!inf.trim().equals("exit"));

{

if(inf.equals("exit"))

System.exit(0);

c.close( );

}}}catch(Exception e){System.out.println("Error :"+e+"\n");}}}

Page 15: Networking Lab programs(2009-10)

Client:import java.io.*;import java.net.*;class echocli{public static void main(String args[])throws IOException{try{Socket c=new Socket(InetAddress.getLocalHost(),3128);BufferedReader in=new BufferedReader(new InputStreamReader(System.in));BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));PrintWriter p=new PrintWriter(c.getOutputStream(),true);String inf,msg;

do{System.out.println("Enter the message");msg=in.readLine();if(msg!=null){p.println(msg);}inf=br.readLine();System.out.println("Echo from "+inf);}while(!msg.trim().equals("exit"));}catch(Exception e){System.out.println("Error :"+e+"\n");}}}

Page 16: Networking Lab programs(2009-10)

OUTPUT:

Server:

C:\Program Files\Java\jdk1.6.0\bin>javac echoser.java

C:\Program Files\Java\jdk1.6.0\bin>java echoser

Connected to Socket[addr=/127.0.0.1,port=1042,localport=3128]

connection established...

Message from client : welcome to net lab

Message from client : do the excercises

Message from client : exit

Client:

C:\Program Files\Java\jdk1.6.0\bin>javac echocli.java

C:\Program Files\Java\jdk1.6.0\bin>java echocli

Enter the message: welcome to net lab

Echo from SERVER: welcome to net lab

Enter the message: do the excercises

Echo from SERVER: do the excercises

Enter the message: exit

Echo from SERVER: exit

/* EX.NO: 05 REMOTE COMMAND EXECUTION */

Page 17: Networking Lab programs(2009-10)

SERVER:

import java.io.*;

import java.net.*;

class rceser

{

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

{

ServerSocket s=new ServerSocket(3128);

System.out.println("Started "+s);

try

{

Socket c=s.accept();

try

{

System.out.println("Connection started "+c);

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(new BufferedWriter(new

OutputStreamWriter(c.getOutputStream())),true);

String inf=br.readLine();

p.println(inf);

Process pr=Runtime.getRuntime().exec(inf);

}

finally { c.close(); } } finally { s.close(); } }}

CLIENT:

Page 18: Networking Lab programs(2009-10)

import java.io.*;

import java.net.*;

class rcecli

{

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

{

Socket s=new Socket(InetAddress.getLocalHost(),3128);

try

{

System.out.println("Server:"+s);

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

PrintWriter p=new PrintWriter(new BufferedWriter(new

OutputStreamWriter(s.getOutputStream())),true);

System.out.println("Enter the command to be executed remotely");

String msg=in.readLine();

p.println(msg);

}

finally

{

s.close();

}

}

}

SERVER OUTPUT:

Page 19: Networking Lab programs(2009-10)

C:\Program Files\Java\jdk1.6.0\bin>javac rceser.java

C:\Program Files\Java\jdk1.6.0\bin>java rceser

Started ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=3128]

Connection started Socket[addr=/10.1.3.145,port=2996,localport=3128]

CLIENT OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac rcecli.java

C:\Program Files\Java\jdk1.6.0\bin>java rcecli

Server:Socket[addr=itflab105/10.1.3.145,port=3128,localport=2996]

Enter the command to be executed remotely

Mspaint

/* EX.NO: 06 IMPLEMENTATION OF ARP */

Page 20: Networking Lab programs(2009-10)

ARP.java:

public class ARP

{

String ip[]={"127.0.0.1","127.0.0.2","127.0.0.3"};

String phy[]={"12.32.45.0.0.1","12.32.45.0.0.2","12.32.45.0.0.3"};

}

CLIENT:

import java.io.*;

import java.net.*;

public class arpclient

{

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

{

Socket s=new Socket(InetAddress.getLocalHost(),2000);

String in;

System.out.println("Client connected to server");

BufferedReader dis=new BufferedReader(new BufferedReader(new

InputStreamReader(System.in)));

BufferedReader sin=new BufferedReader(new InputStreamReader(s.getInputStream()));

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

System.out.println("Enter the IP address:");

in=dis.readLine();

dos.println(in);

System.out.println("MAC address:"+sin.readLine());

}

}

SERVER:

Page 21: Networking Lab programs(2009-10)

import java.io.*;

import java.net.*;

public class arpser

{

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

{

ServerSocket ss=new ServerSocket(2000);

Socket s;

ARP arp=new ARP( );

String in;

int i;

System.out.println("Server started");

s=ss.accept();

BufferedReader dis=new BufferedReader(new InputStreamReader(s.getInputStream()));

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

System.out.println("Client Accepted:");

in=dis.readLine();

for(i=0;i<3;i++)

{

if(in.equals(arp.phy[i]))

{

dos.println(arp.ip[i]);

break;

}

}

if(i==3)

dos.println("IP not found");

}

}

Page 22: Networking Lab programs(2009-10)

SERVER OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac arpser.java

C:\Program Files\Java\jdk1.6.0\bin>java arpser

Server started

Client Accepted

CLIENT OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac arpclient.java

C:\Program Files\Java\jdk1.6.0\bin>java arpclient

Client connected to server

Enter the IP address: 127.0.0.1

MAC address: 12.32.45.0.0.1

/* EX.NO:07 IMPLEMENTATION OF RARP */

Page 23: Networking Lab programs(2009-10)

ARP.java:

public class ARP

{

String ip[]={"127.0.0.1","127.0.0.2","127.0.0.3"};

String phy[]={"12.32.45.0.0.1","12.32.45.0.0.2","12.32.45.0.0.3"};

}

CLIENT:

import java.io.*;

import java.net.*;

public class arpclient

{

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

{

Socket s=new Socket(InetAddress.getLocalHost(),2000);

String in;

System.out.println("Client connected to server");

BufferedReader dis=new BufferedReader(new BufferedReader(new

InputStreamReader(System.in)));

BufferedReader sin=new BufferedReader(new InputStreamReader(s.getInputStream()));

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

System.out.println("Enter the MAC address:");

in=dis.readLine();

dos.println(in);

System.out.println("IP address:"+sin.readLine());

}

}

SERVER:

Page 24: Networking Lab programs(2009-10)

import java.io.*;

import java.net.*;

public class arpser

{

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

{

ServerSocket ss=new ServerSocket(2000);

Socket s;

ARP arp=new ARP();

String in;

int i;

System.out.println("Server started");

s=ss.accept();

BufferedReader dis=new BufferedReader(new InputStreamReader(s.getInputStream()));

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

System.out.println("Client Accepted:");

in=dis.readLine();

for(i=0;i<3;i++)

{

if(in.equals(arp.phy[i]))

{

dos.println(arp.ip[i]);

break;

}

}

if(i==3)

dos.println("MAC not found");

}

}

Page 25: Networking Lab programs(2009-10)

SERVER OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac arpser.java

C:\Program Files\Java\jdk1.6.0\bin>java arpser

Server started

Client Accepted

CLIENT OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>javac arpclient.java

C:\Program Files\Java\jdk1.6.0\bin>java arpclient

Client connected to server

Enter the MACaddress: 12.32.45.0.0.1

IP address: 127.0.0.1

/*EX.NO:08 IMPLEMENTATION OF RMI */

Page 26: Networking Lab programs(2009-10)

INTERFACE:

import java.rmi.*;

public interface serverintf extends Remote

{

double add(double d1,double d2)throws RemoteException;

}

SERVER:

import java.rmi.*;

import java.net.*;

public class server

{

public static void main(String args[])

{

try

{

serverimpl ad=new serverimpl();

Naming.rebind("server",ad);

}

catch(Exception e)

{

System.out.println("Exception "+e);

}

}

}

SERVER IMPLEMENTATION:

Page 27: Networking Lab programs(2009-10)

import java.rmi.*;

import java.rmi.server.*;

public class serverimpl extends UnicastRemoteObject implements serverintf

{

public serverimpl()throws RemoteException

{

}

public double add(double d1,double d2)throws RemoteException

{

return d1+d2;

}

}

CLIENT:

import java.rmi.*;

public class client

{public static void main(String args[]){try{String a="rmi://"+args[0]+"/server";

serverintf addserver=(serverintf)Naming.lookup(a);

System.out.println("the first number is "+args[1]);

double d1=Double.valueOf(args[1]).doubleValue();

System.out.println("the second number is "+args[2]);

double d2=Double.valueOf(args[2]).doubleValue();

System.out.println("The sum is "+addserver.add(d1,d2));

}

catch(Exception e){System.out.println("Exception "+e);}}}

SERVER OUTPUT:

Page 28: Networking Lab programs(2009-10)

C:\Program Files\Java\jdk1.6.0\bin>start rmiregistry

C:\Program Files\Java\jdk1.6.0\bin>javac server.java

C:\Program Files\Java\jdk1.6.0\bin>java server

CLIENT OUTPUT:

C:\Program Files\Java\jdk1.6.0\bin>java client 127.0.0.1 40 20

First number is 40

Second number is 20

Sum is 60.0

Ex.No.09 Implementation of Shortest path Routing Algorithm

Page 29: Networking Lab programs(2009-10)

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

class shortpath{ public static void main(String args[]) { try { InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(isr);

int ports[]={100,101,102,103,104,105};

DatagramSocket ds=new DatagramSocket(100);

InetAddress inet=InetAddress.getLocalHost();

String s1=null;

int count=0,z,k,I,m,p=0;

int weight[][]=new int[10][10],n,s=0,t,path[]=new int[10],label[]=new int[10];

boolean vect[]=new boolean[10];

System.out.println("Enter no.of nodes");

n=Integer.parseInt(br.readLine());

System.out.println("dest");

t=Integer.parseInt(br.readLine());

for(int i=0;i<n;i++)

for(int j=i;j<n;j++)

if(i==j)

{weight[i][j]= weight[j][i]=99;}

else

{

System.out.println("Node"+i+" to node"+j);

weight[i][j]=Integer.parseInt(br.readLine());

weight[j][i]=weight[i][j];

}}} for(int l=0;l<n;l++)

Page 30: Networking Lab programs(2009-10)

{

label[l]=9999;vect[l]=false;

}

label[s]=0;vect[s]=true;

I=s;k=0;

for(;;)

{

m=9999;

path[k]=I;

k++;

for(int j=0;j<n;j++)

{

if(vect[j]==true)

continue;

z=weight[I][j]+label[I];

if(z<label[j])

label[j]=z;

if(label[j]>m)

continue;

m=label[j];

p=j;

}

vect[p]=true;

if(p==t) break;

I=p;

}

count=k+1;

System.out.println("The distance matrix is:");

for(int i=0;i<n;i++)

for(int j=0;j<n;j++)

{

System.out.print(weight[i][j]+"\t");

Page 31: Networking Lab programs(2009-10)

}

System.out.println();

}

System.out.println("The path is:");

s1=" ";

for(int x=0;x<k;x++)

{

s1=s1+path[x]+" " ;

System.out.print(path[x]+" --> ");

if(x<k-1)

s+=weight[path[x]][path[x+1]];

}

path[k]=t;

System.out.println(t);

s+=weight[path[k-1]][path[k]];

System.out.print("Shortest distance "+s+"\t\t");

s1+=t+" ";

isr.close();

s1+="1";

s1=count+" "+s1;

byte b[]=s1.getBytes();

DatagramPacket dp=new DatagramPacket(b,b.length,inet,ports[path[1]]);

System.out.println("\n\n"+s1);

ds.send(dp);

}

catch(Exception e)

{ System.out.println("Exception"+ e); } }}

OUTPUT:

Page 32: Networking Lab programs(2009-10)

C:\Program Files\Java\jdk1.6.0\bin>javac shortpath.java

C:\Program Files\Java\jdk1.6.0\bin>java shortpath

Enter no.of nodes 4

Dest 1

Node0 to node1

10

Node0 to node2

2

Node0 to node3

99

Node1 to node2

99

Node1 to node3

1

Node2 to node3

1

The distance matrix is:

99 10 2 99

10 99 99 1

2 99 99 1

99 1 1 99

The path is:

0 --> 2 --> 3 --> 1

Shortest distance :4

0 2 3 1 1

EX.NO:10 Implementation of Sliding window protocol

Page 33: Networking Lab programs(2009-10)

Program: Server

import java.io.*;

import java.net.*;

class swindowser{public static void main(String args[])throws IOException{try{ServerSocket s=new ServerSocket(3128);

System.out.println("Waiting......");

Socket c=s.accept(); String st,msg="";

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

BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));

PrintWriter p=new PrintWriter(c.getOutputStream(),true);

int num=2;

while(true)

{

int no=Integer.parseInt(br.readLine());

System.out.println("Packet Number is"+no);

st=br.readLine();

System.out.println("The message from client is ");

System.out.println(st);

if(num%2==0)

{

msg="ACK"+num; p.println(msg);

System.out.println("ACK sent");}else{msg=" "; p.println(msg);}num++;}}catch(Exception e){ }}}CLIENT:import java.io.*;

Page 34: Networking Lab programs(2009-10)

import java.net.*;class swindowcli{public static void main(String args[])throws IOException{try{Socket c;c=new Socket(InetAddress.getLocalHost(),3128);BufferedReader in=new BufferedReader(new InputStreamReader(System.in));BufferedReader br=new BufferedReader(new InputStreamReader(c.getInputStream()));PrintWriter p=new PrintWriter(c.getOutputStream(),true); String str,str1[]=new String[20]; String ack; int i=0,j=0,start=0,end=5,n=0;System.out.println("Waiting......");System.out.println("connected...");System.out.println("Enter the message");str=in.readLine();int l=str.length();System.out.println("The length is "+l);

while(true){for(i=0,j=1;j>0;j=j-5,i++){ str1[i]=str.substring(start,end); System.out.println("The sub string is "+str1[i]); start=end; end=end+5;if(end>l) end=(start-5)+j;n=n+1;

System.out.println("Packet number= "+n);p.println(n);p.println(str1[i]);}ack=br.readLine();System.out.println(ack);}}catch(Exception e){}}}OUTPUT:

Page 35: Networking Lab programs(2009-10)

Server:

C:\Program Files\Java\jdk1.6.0\bin>javac swindowser.java

C:\Program Files\Java\jdk1.6.0\bin>java swindowser

Waiting......

Packet Number is1

The message from client is welco ACK sent

Packet Number is2

The message from client is me to

Packet Number is3

The message from client is netw ACK sent

Packet Number is4

The message from client is orkin

Packet Number is5

The message from client is g lab ACK sent

Client:

C:\Program Files\Java\jdk1.6.0\bin>javac swindowcli.java

C:\Program Files\Java\jdk1.6.0\bin>java swindowcli

Waiting...... connected...

Enter the message welcome to networking lab.

The length is 26

The sub string is welco

Packet number= 1 ACK2

The sub string is me to

Packet number= 2

The sub string is netw

Packet number= 3 ACK4

The sub string is orkin

Packet number= 4

The sub string is g lab

Packet number= 5 ACK6


Recommended