Professional Documents
Culture Documents
Staff-in-Charge HOD
FINDING THE IP ADDRESS
AIM:
To write a java program to find the IP address of the system.
ALGORITHM:
1. Start
2. Declare a variable ‘ip’ as a static InetAddress.
3. Using the function getLocalHost() to find the address of the system.
4. Get the name of the system by using the getHostName() function.
5. By specifying the system name,find out the IP address of the system using
the function getByName().
6. Stop.
FINDING IP ADDRESS
SOURCE CODE:
import java.io.*;
import java.net.*;
class address
{
public InetAddress ip;
public static void main(String args[])throws UnknownHostException
{
InetAddress ip=InetAddress.getLocalHost();
System.out.println("\n IP address is :"+ip);
String s1=ip.getHostName();
System.out.println("system number is:"+s1);
InetAddress ip1=InetAddress.getByName("system 10");
System.out.println("\n name of other system is :"+ip1);
}
}
OUTPUT:
RESULT:
Thus the output for the java program is executed and verified successfully.
TCP-ONE WAY COMMUNICATION
AIM:
To write a java program to implement one way communication using TCP(Transmission
Control Protocol).
ALGORITHM:
SERVER:
CLIENT:
import java.io.*;
import java.net.*;
class server
{
public static void main(String a[])throws IOException
{
ServerSocket ss=new ServerSocket(8000);
Socket s=ss.accept();
DataInputStream in=new DataInputStream(System.in);
PrintStream dos=new PrintStream(s.getOutputStream());
while(true)
{
System.out.println("enter message to send:");
String str=in.readLine();
dos.println(str);
if(str.equals("end"))
{
ss.close();
break;
}
}
}
}
OUTPUT:
SERVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac server.java
C:\Program Files\Java\jdk1.6.0\bin>java server
enter message to send:
GOOD MORNING HAVE A NICE DAY
enter message to send:end
C:\Program Files\Java\jdk1.6.0\bin>
CLIENT
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac client.java
C:\Program Files\Java\jdk1.6.0\bin>java client
Message Received:GOOD MORNING HAVE A NICE DAY
Message Received:end
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
TCP-TWO WAY COMMUNICATION
AIM:
To write a java program to implinment ttwo way communication using
TCP(Transmisstion Control Protocol).
ALGORITHAM:
SERVER:
CLIENT:
import java.io.*;
import java.net.*;
import java.lang.*;
class server1
{
public static void main(String a[])throws IOException
{
ServerSocket ss=new ServerSocket(8000);
Socket s=ss.accept();
PrintStream dos=new PrintStream(s.getOutputStream());
DataInputStream in=new DataInputStream(System.in);
DataInputStream inn=new DataInputStream(s.getInputStream());
while(true)
{
System.out.println("enter the msg to send: ");
String str=in.readLine();
dos.println(str);
if(str.equals("end"))
{
ss.close();
break;
}
String str1=inn.readLine();
System.out.println("msg received"+str1);
if(str1.equals("end"))
{
ss.close();
break;
}
}
}
}
OUTPUT:
SERVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac server1.java
C:\Program Files\Java\jdk1.6.0\bin>java server1
enter the msg to send:
HAI FRIENDS
msg received:HELLO
enter the msg to send:end
C:\Program Files\Java\jdk1.6.0\bin>
CLIENT
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac client1.java
C:\Program Files\Java\jdk1.6.0\bin>java client1
C:\Program Files\Java\jdk1.6.0\bin>java client1
msg received:HAI FRIENDS
enter the msg to send:
HELLO
enter the msg to send:end
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
UDP-ONE WAY COMMUNICATION
AIM:
To write a program in java to perform one way message transfer using the User Datagram
Protocol (UDP).
ALGORITHM:
SERVER:
CLIENT:
import java.io.*;
import java.net.*;
class sender
{
DatagramSocket ds;
DatagramPacket dp;
byte buff[]=new byte[1024];
String str,str1;
boolean i=true;
public void send() throws IOException
{
while(i)
{
ds=new DatagramSocket();
DataInputStream in=new DataInputStream(System.in);
System.out.println("Enter the msg:");
str=in.readLine();
buff=str.getBytes();
dp=new DatagramPacket(buff,buff.length,InetAddress.getLocalHost(),8000);
ds.send(dp);
System.out.println("do u want to continue:yes or no");
str1=in.readLine();
if(str1.equals("yes"))
{
i=true;
}
else
{
i=false;
}
}
}
public static void main(String args[])throws IOException
{
sender se=new sender();
se.send();
}
}
RECEIVER
import java.io.*;
import java.net.*;
class receiver
{
DatagramSocket ds;
DatagramPacket dp;
byte buff[]=new byte[1024];
String str;
public void receive() throws IOException
{
ds=new DatagramSocket(8000);
while(true)
{
dp=new DatagramPacket(buff,buff.length);
ds.receive(dp);
str=new String (dp.getData(),0,0,dp.getLength());
System.out.println(str);
System.out.println("InetAddress:"+dp.getAddress());
}
}
public static void main(String args[])throws Exception
{
receive re=new receive();
re.receive();
}
}
OUTPUT:
SENDER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac sender.java
C:\Program Files\Java\jdk1.6.0\bin>java sender
Enter the msg:
IT KINGS
do u want to continue:yes or no
no
C:\Program Files\Java\jdk1.6.0_14\bin>
RECEIVER
C:\Documents and Settings\SEENU.R>Cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac receive.java
C:\Program Files\Java\jdk1.6.0_14\bin>java receive
IT KINGS
InetAddress:/172.16.11.99
C:\Program Files\Java\jdk1.6.0_14\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
UDP-TWO WAY COMMUNICATION
AIM:
To write a java program to perform two way message transfer using the user datagram
protocol(UDP).
ALGORITHM:
SERVER:
1. Start the program.
2. Import.net and other necessary packages.
3. Declare objects for datagramSocket and DatagramPacket to receive packet data from
server.
4. Receive an object for InetAddress of the LocalHost.
5. Receive the client data using receive() method and store it to a string.
6. Run a loop and store the data in the string until the received message points end.
7. Print the string unless it encounters end.
8. Get user input in the same loop and send data until the user input points end.
9. Convert the user input into bytes and send the byte using DatagramPacket and
DatagramSocket.
10. If end is encountered, exit sending data and program.
CLIENT:
import java.io.*;
import java.net.*;
import java.lang.*;
class receiver
{
public static void main(String a[])throws IOException
{
DatagramSocket ds=new DatagramSocket(1234);
byte b[]=new byte[255];
while(true)
{
DatagramPacket dp=new DatagramPacket(b,b.length);
ds.receive(dp);
String msg=new String(dp.getData());
System.out.println("Msg Received:"+msg);
InetAddress add=dp.getAddress();
int port=dp.getPort();
System.out.println("Enter a line of text to send:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String msg1=br.readLine();
byte b1[]=msg1.getByte();
DatagramPacket dp1=new DatagramPacket(b1,b1.length,add,port);
ds.send(dp1);
if(msg1.equals("exit"))
System.exit(0);
}
}
OUTPUT:
SENDER
RECEIVER:
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac receiver.java
C:\Program Files\Java\jdk1.6.0\bin>java receiver
Msg Received:GOOD MORNING
Enter a line of text to send:
HAVE A NICE DAY
Msg Received:end
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
ECHO
AIM:
To Write a program in java to demonstrate the ECHO command.
ALGORITHM:
ECHOSERVER:
ECHOCLIENT:
SOURCE CODE:
ECHO SERVER
import java.io.*;
import java.net.*;
class echoserver
{
public static void main(String args[])
{
try
{
Socket s=null;
ServerSocket ss=new ServerSocket(8000);
s=ss.accept();
System.out.println(s);
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter print=new PrintWriter(s.getOutputStream());
int i=1;
while(i>0)
{
String str=br.readLine();
if(str.equals("."))
break;
System.out.println("msg received by client:"+str);
print.println(str);
print.flush();
}}
catch(IOException e)
{
System.out.println("\n error:"+e);
}
}
}
ECHO CLIENT
import java.io.*;
import java.net.*;
class echoclient
{
public static void main(String a[])
{
try
{
Socket s=new Socket("LocalHost",8000);
DataInputStream in=new DataInputStream(System.in);
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
BufferedReader br2=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter print=new PrintWriter(s.getOutputStream());
System.out.println("\n msg to be echo:");
String str=br1.readLine();
print.println(str);
print.flush();
System.out.println(br2.readLine());
}
catch(UnknownHostException e)
{}
catch(IOException e)
{
System.out.println("\n error:"+e);
}
}
}
OUTPUT:
CLIENT
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac echoclient.java
C:\Program Files\Java\jdk1.6.0\bin>java echoclient
msg to be echo:
GOD IS GREAT
GOD IS GREAT
C:\Program Files\Java\jdk1.6.0\bin>
SERVER:
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac echoserver.java
C:\Program Files\Java\jdk1.6.0\bin>java echoserver
Socket[addr=/127.0.0.1,port=1623,localport=8000]
msg received by client:GOD IS GREAT
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
PING COMMAND
AIM:
To write a program in java to demonstrate the usage of PING command.
ALGORITHM:
SOURCE CODE:
PING SERVER
import java.io.*;
import java.net.*;
public class pingserver
{
public static void main(String a[])
{
String line1,line2;
int i;
ServerSocket es;
DataInputStream di;
PrintStream ps;
Socket csoc;
es=null;
csoc=null;
try
{
es=new ServerSocket(9999);
}
catch(Exception e)
{
System.out.println(e);
}
System.out.println("ping server");
try
{
csoc=es.accept();
di=new DataInputStream(csoc.getInputStream());
ps=new PrintStream(csoc.getOutputStream());
for(i=0;i<4;i++)
{
line1=di.readLine();
System.out.println("pinged by client");
ps.println(line1+"reply from host:bytes=3<time<1ms TT<=128");
}
di.close();
ps.close(); }
catch(Exception e)
{
System.out.println(e);
}}}
PING CLIENT
import java.io.*;
import java.net.*;
public class pingclient
{
public static void main(String args[])
{
PrintWriter out=null;
int i,j,k;
BufferedReader networkIn=null;
try
{
System.out.println("enter the IP address:");
DataInputStream in = new DataInputStream(System.in);
String ip = in.readLine();
Socket thesocket = new Socket(ip, 9999);
networkIn = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(thesocket.getOutputStream());
System.out.println("\npinging" + ip + "with 32 bytes of data\n");
for (i = 0; i < 4; i++)
{
out.println(ip);
out.flush();
String inp = networkIn.readLine();
if (inp != null)
{
for (j = 0; j < 10000; j++)
{
for (k = 0; k < 50000; k++)
{
}
}
System.out.println("reply from" + inp);
}
else
{
for (i = 0; i < 4; i++)
{
for (j = 0; j < 10000; j++)
{
for (k = 0; k < 50000; k++)
{
}
System.out.println("\nrequest time out");
}
}
}
}
}
catch (IOException e)
{
for (i = 0; i < 4; i++)
{
for (j = 0; j < 1000; j++)
{
for (k = 0; k < 5000; k++)
{
}
}
System.out.println("\nrequest timed out");
}
}
try
{
if(networkIn!=null)
networkIn.close();
if(out!=null)
out.close();
}
catch(Exception e){
System.out.println("\nrequested time out");
}
}
}
OUTPUT
PING CLIENT
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac pingclient.java
C:\Program Files\Java\jdk1.6.0\bin>java pingclient
enter the IP address:
192.168.1.10
pinging192.168.1.10with 32 bytes of data
5
reply from5
8
reply from8
9
reply from9
4
reply from4
C:\Program Files\Java\jdk1.6.0\bin>
PINGSERVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac pingserver.java
C:\Program Files\Java\jdk1.6.0\bin>java pingserver
ping server
pinged by client
pinged by client
pinged by client
pinged by client
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
IMPLEMENTATION OF TALK COMMAND
AIM:
To send and receive message from client and server using connection oriented service.
ALGORITHM:
SERVER:
CLIENT:
1. Create a client socket that connects to the required host and port.
2. Using input streams read message given by server and print it.
3. Using input streams, get message from user to be given to the server.
4. Use output streams to write message to the server.
SOURCE CODE:
TALKSERVER:
import java.io.*;
import java.net.*;
public class talkserver
{
public static void main(String[] args)throws IOException
{
try
{
ServerSocket server=new ServerSocket(2000);
Socket client=server.accept();
System.out.println("connection established..");
DataInputStream dis=new DataInputStream(client.getInputStream());
PrintStream ps=new PrintStream(client.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s="";
int i=0;
while(i<10)
{
System.out.println("from client:"+dis.readLine());
System.out.println("To client");
s=br.readLine();
if(s.equals("end"))
break;
}
ps.close();
dis.close();
br.close();
client.close();
server.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
TALKCLIENT:
import java.io.*;
import java.net.*;
public class talkclient
{
public static void main(String[] args)
{
try
{
Socket server=new Socket("localhost",2000);
System.out.println("connected..");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
DataInputStream dis=new DataInputStream(server.getInputStream());
PrintStream ps=new PrintStream(server.getOutputStream());
int i=0;
String s=" ";
while(i<10)
{
System.out.println("\n Message to server:");
s=br.readLine();
ps.println(s);
if(s.equals("end"))
break;
System.out.println("\n Message from server:"+dis.readLine());
}
ps.close();
dis.close();
br.close();
}
catch(Exception e)
{
}
}
}
OUTPUT:
RESULT:
Thus the output for the java program is executed and verified successfully.
IMPLEMENTATION OF FTP
AIM:
To write a java program to perform “File Transfer Protocol”.
ALGORITHM
SERVER SIDE
1. Import the java packages and create class fileserver.
7. If File is exists then FileReader read the content until EOF is reached.
9. End of main.
CLIENT SIDE
1. Import the java packages and create class fileClient.
4. The object of a BufferReader class is used for storing data content which have been
retrieved from socket object s.
5. The content are read and stored in inp until the EOF is reached.
6. The content of file are displayed in displayed in client window and the connection is
closed.
7. End of main.
SOURCE CODE
SERVER
import java.io.*;
import java.net.*;
public class fileserver1
{
public static void main(String args[])throws IOException
{
ServerSocket s1=null;
try
{
s1=new ServerSocket(1187);
}
catch(IOException u1)
{
System.out.println("could not found port 1187");
System.exit(1);
}
Socket c=null;
try
{
c=s1.accept();
System.out.println("connection frame" +c);
}
catch(IOException e)
{
System.out.println("accept failed");
System.exit(1);
}
PrintWriter out=new PrintWriter(c.getOutputStream(),true);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter the text file name");
String s=sin.readLine();
File f=new File(s);
if(f.exists())
{
BufferedReader in=new BufferedReader(new FileReader(s));
String v;
while((v=in.readLine())!=null)
{
out.write(v);
out.flush();
}
System.out.println("the file send successfully");
in.close();
c.close();
s1.close();
}
}
}
CLIENT
import java.io.*;
import java.net.*;
public class fileclient1
{
public static void main(String args[])throws IOException
{
Socket s=null;
BufferedReader b=null;
try
{
s=new Socket(InetAddress.getLocalHost(),1187);
b=new BufferedReader(new InputStreamReader(s.getInputStream()));
}
catch(Exception u)
{
System.out.println("the file is received");
System.out.println("don't know host");
System.exit(1);
}
String inp;
while((inp=b.readLine())!=null)
{
System.out.println("the content of the file is");
System.out.println(inp);
System.out.println("the file is received successfully");
}
b.close();
s.close();
}
}
OUTPUT:
SERVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac fileserver1.java
C:\Program Files\Java\jdk1.6.0\bin>java fileserver1
connection frameSocket[addr=/127.0.0.1,port=1056,localport=1187]
enter the text file name
HAI.txt
the file send successfully
C:\Program Files\Java\jdk1.6.0\bin>
CLIENT
AIM:
To develop a java program for implementing the remote method invocation.
ALGORITHM:
1. Start the program.
2. Establish the connection between the client and the server to calculate the factorial
operation.
3. In implement() it calls the inter() which throws remote exception thrown by fact().
4. In the client URL has been specified and declared as string.
5. It calls the inter() to connect with the implement() and get the result.
6. Stop.
REMOTE METHOD INVOCATION
SOURCE CODE
SERVER
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
public class rmiserver
{
public static void main(String args[]) throws RemoteException
{
try
{
implement i=new implement();
Naming.rebind("server",i);
System.out.println("server reasdy");
}
catch(Exception e)
{
System.out.println("exception:"+e);
}
}
}
CLIENT:
import java.io.*;
import java.rmi.*;
import java.rmi.registry.*;
import java.net.*;
public class rmiclient
{
public static void main(String args[]) throws RemoteException
{
try
{
String host="rmi://LABCSE105/server";
inter a=(inter)Naming.lookup(host);
System.out.println("Enter a number:");
DataInputStream ds=new DataInputStream(System.in);
int n=Integer.parseInt(ds.readLine());
a.fact(n);
}
catch(Exception e)
{
}
}
}
IMPLEMENT:
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
public class implement extends UnicastRemoteObject implements inter
{
public implement() 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("Factorial of "+n+" is "+f);
}
}
INTERFACE:
import java.rmi.*;
import java.rmi.server.*;
public interface inter extends Remote
{
public void fact(int n) throws RemoteException;
}
OUTPUT
SERVER
CLIENT:
C:\Program Files\Java\jdk1.6.0\bin>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac rmiclient.java
C:\Program Files\Java\jdk1.6.0\bin>java rmiclient
Enter a number:
8
RESULT:
Thus the output for the java program is executed and verified successfully.
AIM:
To write a program in java for one bit sliding window protocol.
ALGORITHM:
SERVER:
CLIENT:
import java.lang.System;
import java.net.*;
import java.io.*;
class bitserver
{
public static void main(String[] args)
{
try
{
BufferedInputStream in;
ServerSocket Serversocket=new ServerSocket(500);
System.out.println("waiting for connection");
Socket client=Serversocket.accept();
System.out.println("received request for sending frames");
in=new BufferedInputStream(client.getInputStream());
DataOutputStream out=new DataOutputStream(client.getOutputStream());
int p=in.read();
System.out.println("sending.....");
for(int i=1;i<=p;++i)
{
System.out.println("sending frame no"+i);
out.write(i);
out.flush();
System.out.println("waiting for acknowledge");
Thread.sleep(5000);
int a=in.read();
System.out.println("received acknowledge for frame no:"+i+"as"+a);
}
out.flush();
in.close();
out.close();
client.close();
Serversocket.close();
System.out.println("quiting");
}
catch(IOException e)
{
System.out.println(e);
}
catch(InterruptedException e)
{}
}
}
CLIENT:
import java.lang.System;
import java.net.*;
import java.io.*;
import java.math.*;
class client
{
public static void main(String a[])
{
try
{
InetAddress addr=InetAddress.getByName("Localhost");
System.out.println(addr);
Socket connection=new Socket(addr,500);
DataOutputStream out=new DataOutputStream(connection.getOutputStream());
BufferedInputStream in=new BufferedInputStream(connection.getInputStream());
BufferedInputStream inn=new BufferedInputStream(connection.getInputStream());
BufferedReader ki=new BufferedReader(new InputStreamReader(System.in));
int flag=0;
System.out.println("connect");
System.out.println("enter the no of frames to be requested to server:");
int c=Integer.parseInt(ki.readLine());
out.write(c);
out.flush();
int i,jj=0;
while(jj<c)
{
i=in.read();
System.out.println("received frame no"+i);
System.out.println("sending acknowledgement for frame no"+i);
out.write(i);
out.flush();
jj++;
}
out.flush();
in.close();
inn.close();
out.close();
System.out.println("quiting");
}
catch(Exception e)
{
System.out.println(e);}}}
OUTPUT
BITCLIENT
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac bitclient.java
C:\Program Files\Java\jdk1.6.0\bin>java bitclient
Localhost/127.0.0.1
connect
enter the no of frames to be requested to server:
4
received frame no1
sending acknowledgement for frame no1
received frame no2
sending acknowledgement for frame no2
received frame no3
sending acknowledgement for frame no3
received frame no4
sending acknowledgement for frame no4
quiting
C:\Program Files\Java\jdk1.6.0\bin>
BITSERVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0\bin
C:\Program Files\Java\jdk1.6.0\bin>javac bitserver.java
C:\Program Files\Java\jdk1.6.0\bin>java bitserver
waiting for connection
received request for sending frames
sending.....
sending frame no1
waiting for acknowledge
received acknowledge for frame no:1as1
sending frame no2
waiting for acknowledge
received acknowledge for frame no:2as2
sending frame no3
waiting for acknowledge
received acknowledge for frame no:3as3
sending frame no4
waiting for acknowledge
received acknowledge for frame no:4as4
quiting
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
AIM:
To perform remote command execution (ie) command entered by the user at the client
should be executed by the server.
ALGORITHM:
SERVER:
1. Create server and client socket.
2. Create a runtime object using getRuntime() method.
3. Create a process object p.
4. Read the command entered by the user at the client using input streams.
5. Execute the command using the exec().
CLIENT:
1. Create a client socket corresponding to the required server and port.
2. Promote the user to enter the command.
3. Read the command using input streams.
4. Write the command to the server using output streams.
5. lose the streams and socket.
SOURCE CODE
SERVER
import java.io.*;
import java.net.*;
import java.lang.*;
class RCEserver
{
public static void main(String a[])throws
IOException,UnknownHostException,InterruptedException
{
ServerSocket ss=new ServerSocket(1000);
Socket cs=ss.accept();
Runtime r=Runtime.getRuntime();
Process p=null;
InputStream is=cs.getInputStream();
DataInputStream dis=new DataInputStream(is);
String s=dis.readLine();
System.out.println(s);
p=r.exec(s);
p.waitFor();
}
}
CLIENT
import java.io.*;
import java.net.*;
import java.lang.*;
public class RCEclient
{
public static void main(String a[])throws UnknownHostException,IOException
{
Socket c=new Socket("localhost",1000);
System.out.println("Enter cmd:");
DataInputStream dis=new DataInputStream(System.in);
String s=dis.readLine();
OutputStream os=c.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.write(s.getBytes());
dos.close();
dis.close();
c.close();
}
}
OUTPUT
SERVER
CLIENT
BROADCASTING
AIM:
To write a java program to send a single message to multiclient.
ALGORITHM:
SENDER:
CLIENT:
1. Start the program.
2. Import .net and other necessary packages.
3. The DatagramSocket and DatagramPacket are initialized.
4. The message from sender is takeb as the packet from buffer.
5. The message is displayed along with the IP address of the server.
6. If the message is ‘bye’ then the client quits from the transmission and the connection
is terminated.
BROADCASTING
SOURCE CODE
SERVER
import java.net.*;
import java.io.*;
public class server
{
public static void main(String args[]) throws Exception
{
DatagramSocket socket=new DatagramSocket();
DataInputStream in=new DataInputStream(System.in);
String msg=" ";
String client=" ";
byte[] buf=new byte[1025];
while(true)
{
System.out.println("Server");
msg=in.readLine();
buf=msg.getBytes();
for(int i=1;i<=10;i++)
{
try
{
client=("sys"+i);
DatagramPacket packet=new
DatagramPacket(buf,buf.length,InetAddress.getByName(client),5000);
socket.send(packet);
System.out.println("Message successfully sent to client:"+client);
}
catch(Exception e)
{
System.out.println("Unable to connect at "+client+e);
}
if(msg.equalsIgnoreCase("Bye"))
{
System.out.println("Server quits");
return;
}
}
}
}
}
CLIENT:
import java.net.*;
import java.io.*;
public class client
{
public static void main(String args[]) throws Exception
{
DatagramSocket socket=new DatagramSocket(5000);
while(true)
{
try
{
byte[] buf=new byte[1025];
DataInputStream in=new DataInputStream(System.in);
String msg=null;
DatagramPacket packet=new DatagramPacket(buf,buf.length);
socket.receive(packet);
msg=new String(packet.getData(),0,packet.getLength());
InetAddress addr=packet.getAddress();
System.out.println("From :"+addr+"message"+msg);
if(msg.equalsIgnoreCase("Bye"))
{
System.out.println("Quits");
return;
}
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
}
OUTPUT
BROADSERVER
BROADRECEIVER
C:\Documents and Settings\SEENU.R>cd\
C:\>cd C:\Program Files\Java\jdk1.6.0_14\bin
C:\Program Files\Java\jdk1.6.0_14\bin>javac broadreceive.java
C:\Program Files\Java\jdk1.6.0_14\bin>java broadreceive
RESULT:
Thus the output for the java program is executed and verified successfully.
AIM:
To write a java program to implement cyclic redundancy check.
ALGORITHM:
SOURCE CODE:
import java.io.*;
import java.lang.*;
public class crc
{
public static void main(String args[]) throws IOException
{
int f[]=new int[25];
int gen[]=new int[10];
int rem[]=new int[10];
int flen,glen,rlen,i,j;
int p,sum,iframe,igen,irem;
String data;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the frame:");
data=in.readLine();
flen=data.length()-1;
for(i=0;i<data.length();i++)
f[i]=(int)(data.charAt(i))-48;
System.out.println("Enter the generator:");
data=in.readLine();
glen=data.length()-1;
for(i=1;i<=glen;i++)
f[flen+i]=0;
flen=flen+glen;
for(i=0;i<data.length();i++)
gen[i]=((int)(data.charAt(i))-48);
p=0;
sum=0;
for(i=flen;i>=0;i--)
{
sum=sum+(f[i]*(int)Math.pow(2,p));
p=p+1;
}
iframe=sum;
p=0;
sum=0;
for(i=glen;i>=0;i--)
{
sum=sum+(gen[i]*(int)Math.pow(2,p));
p=p+1;
}
igen=sum;
irem=iframe%igen;
irem=igen-irem;
i=0;
while(iframe>0)
{
f[i]=iframe%2;
iframe=iframe/2;
i++;
}
if(iframe == 1)
f[i]=iframe;
System.out.print("Transmitted string:");
for(i=flen;i>=0;i--)
System.out.print(f[i]);
System.out.print("\n\nEnter the received string:");
data=in.readLine();
flen=data.length()-1;
for(i=0;i<data.length();i++)
f[i]=((int)(data.charAt(i)))-48;
p=0;
sum=0;
for(i=flen;i>=0;i--)
{
p=p+1;
}
iframe=sum;
irem=iframe%igen;
if(irem==0)
System.out.println("Message received with no error");
else
System.out.println("Message received with error");
}
}
OUTPUT:
SHOREST PATH
AIM:
To implement the shortest path routing (Dijkstra’s Algorithm) to find the shortest path
between the nodes.
ALGORITHM:
1. Dijkstra’s shortest path algorithm computes all shortest path from a single node.
2. It can also be used for the all pairs shortest path problem,by the simple expledient of
applying it N times once to each vertex.
3. Get the number of nodes in the network for which the shortest path is to be calculated.
4. Represent the nodes that are connected by cost value(Number of hopes delay
bandwidth, etc.,) and nodes that are not connected by infinite value in an adjacent
matrix.
5. To find the shortest path between node follow the steps as stated below.
a. Initially,T=V, where T= set of nodes and V= nodes for which the shortest
path is to be found.
b. At each step of the algorithm the vertex in T with the smalled d value is
removed from T.
c. Each neighbour of in T is examined would be shorter than the currently best
known path.
6. The last paths that remain between the nodes are the shortest path between
the source node and the destination nodes.
OUTPUT
SOURCE CODE:
import java.net.*;
import java.io.*;
class spath
{
public static void main(String args[]) throws IOException
{
int n,s,d,i,j,y=0,sd=100;
int[] in=new int[10];
int[][] m=new int[5][5];
int[] dis=new int[10];
int[] path=new int[10];
DataInputStream a=new DataInputStream(System.in);
System.out.println("Enter the no of vertex:");
n=Integer.parseInt(a.readLine());
System.out.println("Enter the source vertex:");
s=Integer.parseInt(a.readLine());
System.out.println("Enter the destination vertex:");
d=Integer.parseInt(a.readLine());
for(i=1;i<n;i++)
{
j=1;
while(j<n)
{
System.out.println("Enter the distance between"+i+ "and" +(j+1));
m[i][j+1]=Integer.parseInt(a.readLine());
m[j+1][i]=m[i][j+1];
j++;
}
}
for(i=1;i<=n;i++)
{
in[i]=0;
dis[i]=m[s][i];
if(m[s][i]!=0)
path[i]=s;
}
in[s]=1;
dis[s]=0;
for(i=2;i<n;i++)
{
for(j=1;j<=n;j++)
{
if(in[j]==0)
{
if(dis[j]<sd)
{
sd=dis[j];
y=j;
}
}
}
in[y]=1;
for(j=1;j<=n;j++)
{
if((in[j]==0)&&(m[y][j]!=0))
{
if((dis[y]+m[y][j])<dis[j])
{
dis[j]=dis[y]+m[y][j];
path[j]=y;
}
}
}
}
System.out.println(" "+d+"<----");
i=d;
while(path[i]!=s)
{
System.out.println(" "+path[i]+"<----");
i=path[i];
}
System.out.println(" "+s);
System.out.println("Distance is "+dis[d]);
}
}
OUTPUT:
C:\Program Files\Java\jdk1.6.0\bin>
RESULT:
Thus the output for the java program is executed and verified successfully.
CRYPTOGRAPHY
AIM:
To write a java program to implement client server cryptography.
ALGORITHM:
SERVER:
SOURCE CODE
SERVER
import java.io.*;
import java.net.*;
class encrypserver
{
public static void main(String a[])throws Exception
{
try
{
ServerSocket ss=new ServerSocket(1000);
Socket s=ss.accept();
PrintStream ps=new PrintStream(s.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s2="",s3="";
int i=0,k;
System.out.println("\n Enter a String :");
String s1=br.readLine();
System.out.print("\n Enter the key:");
k=Integer.parseInt(br.readLine());
while(i<s1.length())
{
char c1=s1.charAt(i++);
int n=(int)c1+k+1;
c1=(char)n;
s2+=c1;
n=(int)c1-k-1;
c1=(char)n;
s3+=c1;
}
System.out.print("\n Encrypted String :"+s2);
ps.println(s2);
ps.println(k);
ps.close();
s.close();
ss.close();
}
catch(Exception e)
{
System.out.print("\n Error :"+e);
}
}
}
CLIENT
import java.io.*;
import java.net.*;
class decrypclient
{
public static void main(String args[])throws Exception
{
try
{
Socket s=new Socket("LocalHost",1000);
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader brs=new BufferedReader(new InputStreamReader(System.in));
String s1="",s2="";
s1=br.readLine();
int k1=Integer.parseInt(br.readLine());
int i=0;
System.out.print("\n Encrypted sender String :"+s1);
System.out.print("\n Enter the key :");
int k=Integer.parseInt(brs.readLine());
if(k==k1)
{
while(i<s1.length())
{
char c1=s1.charAt(i++);
int n=(int)c1-k-1;
c1=(char)n;
s2+=c1;
}
System.out.print("\n Decrypted String :"+s2);
}
else
{
System.out.print("\n U r unable to decrypt...Wrong key...");
System.exit(0);
}
}
catch(Exception e)
{
System.out.print("\n Error :"+e);
}
}
}
OUTPUT
SERVER
CLIENT
RESULT:
Thus the output for the java program is executed and verified successfully.