tcp ip lab manual mit

69
MANAKULA VINAYAGAR INSTITUTE OF TECHNOLOGY Kalitheerthaalkuppam, Puducherry – 605 107 Department of Information Technology List of Experiments COMPUTER NETWORKS LAB UIT 6088 Year/Sem: III/VI Batch: 2008-2012 Sl. No DATE Experiment Proposed Sessions 1 Study of Socket Programming 1 2 Finding The IP Address 1 3 TCP-One Way Communication 1 4 TCP-Two Way Communication 1 5 UDP-One Way Communication 1 6 UDP-Two Way Communication 1 7 Echo Command 1 8 Ping Command 1 9 Talk Command 1 10 File transfer using TCP 1 11 Remote Method Invocation- Factorial Of A Number 1 12 1 – Bit Sliding Window Protocol 1 13 Remote Command Execution 1 14 Broadcasting 1 15 Cyclic Redundancy Check 1 16 Shortest Path Routing 1 17 Cryptography 1 Staff-in-Charge HOD

Upload: vmonescu

Post on 26-Oct-2014

146 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Tcp Ip Lab Manual Mit

MANAKULA VINAYAGAR INSTITUTE OF TECHNOLOGYKalitheerthaalkuppam, Puducherry – 605 107

Department of Information Technology

List of Experiments

COMPUTER NETWORKS LABUIT 6088

Year/Sem: III/VI Batch: 2008-2012

Sl. No

DATE Experiment Proposed Sessions

1 Study of Socket Programming 12 Finding The IP Address 13 TCP-One Way Communication 14 TCP-Two Way Communication 15 UDP-One Way Communication 16 UDP-Two Way Communication 17 Echo Command 18 Ping Command 19 Talk Command 110 File transfer using TCP 111 Remote Method Invocation-

Factorial Of A Number1

12 1 – Bit Sliding Window Protocol 113 Remote Command Execution 114 Broadcasting 115 Cyclic Redundancy Check 116 Shortest Path Routing 117 Cryptography 1

Staff-in-Charge HOD

Page 2: Tcp Ip Lab Manual Mit

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.

Page 3: Tcp Ip Lab Manual Mit

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);}}

Page 4: Tcp Ip Lab Manual Mit

OUTPUT:

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac address.javaC:\Program Files\Java\jdk1.6.0\bin>java address IP address is :seenu/172.16.11.99system number is:centre 99

RESULT:Thus the output for the java program is executed and verified successfully.

Page 5: Tcp Ip Lab Manual Mit

TCP-ONE WAY COMMUNICATION

AIM:To write a java program to implement one way communication using TCP(Transmission

Control Protocol).

ALGORITHM:SERVER:

1. Start the program.2. Import .net package and other packages.3. Declare objects for ServerSocket,Socket and PrintStream to transfer data.4. Using PrintStream transfer the data in OutputStream via a port.5. Run an loop to send data from server until an “end or exit” string is transferred.6. If “end or exit” is encountered,close the socket and exit the program.

CLIENT:

1. Start the program.2. Import .nrt package and other packages.3. Declare objecta for Socket and DataInputStream to receive server data.4. Run an loop to receive data from server and store it in a string using

DataInputStream.5. Prunt the string to display the server data and exit when an “end or exit” Message is

encountered.

Page 6: Tcp Ip Lab Manual Mit

TCP ONE WAY COMMUNICATION

SOURCE CODE:CLIENT:import java.io.*;

import java.net.*;

class client

{

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

{

Socket s=new Socket("localHost",8000);

DataInputStream in=new DataInputStream(s.getInputStream());

while(true)

{

String str=in.readLine();

System.out.println("Message Received:"+str);

if(str.equals("end"))

{

s.close();

break;

}

}

}

}

Page 7: Tcp Ip Lab Manual Mit

SOURCE CODE:SERVER:

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;}}}}

Page 8: Tcp Ip Lab Manual Mit

OUTPUT:SERVERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac server.javaC:\Program Files\Java\jdk1.6.0\bin>java serverenter message to send:GOOD MORNING HAVE A NICE DAYenter message to send:endC:\Program Files\Java\jdk1.6.0\bin>

CLIENTC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac client.javaC:\Program Files\Java\jdk1.6.0\bin>java clientMessage Received:GOOD MORNING HAVE A NICE DAYMessage Received:end

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

RESULT:Thus the output for the java program is executed and verified successfully.

Page 9: Tcp Ip Lab Manual Mit

TCP-TWO WAY COMMUNICATION

AIM:To write a java program to implinment ttwo way communication using

TCP(Transmisstion Control Protocol).

ALGORITHAM:SERVER:

1. Start the Program.2. Import .net package and other packages.3. declare objects for Server4Scoket,SAcoket and printStream to transfer server data.4. Dedclre objects for Scoket and DataInputStream to receive client data.5. Using printStream transfer the data in OutputStream via a port.6. Run an loop to send data from server until an”end or exit” String is transferred.7. Using the same loop receive data from server and store it in a String Using dataInputStream.8. print the String to display the server data and exit when an”end or exit” Message is encountered.

CLIENT:

1.Start the program.2.Import .net package and other packages.3.Declare objects for Socket, Socket and PrintStream to transfer54 the client data.4.Declare objects for Socket and DataInputStream to receive server the data.5.Using PrintStream transfer the data in OutputStream via a port.6.Run an loop to send data from server until an “end or exit”string is transferred.7.Using the same loop receive data from server and store it in a String using DtaInputStream.8.Print the string to display trhe server data and exit when an “send or exit” Message is encountered.

Page 10: Tcp Ip Lab Manual Mit

TCP TWO WAY COMMUNICATION

SOURCE CODE:CLIENTimport java.io.*;import java.net.*;import java.lang.*;class client1{public static void main(String a[])throws IOException{Socket s=new Socket("LocalHost",8000);DataInputStream in=new DataInputStream(s.getInputStream());DataInputStream inn=new DataInputStream(System.in);PrintStream dos=new PrintStream(s.getOutputStream());while(true){String str=in.readLine();System.out.println("msg received:"+str);if(str.equals("end")){s.close();break;}System.out.println("enter the msg to send: ");String str1=inn.readLine();dos.println(str1);if(str1.equals("end")){s.close();break;}}}}

Page 11: Tcp Ip Lab Manual Mit

SERVER

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;}}}}

Page 12: Tcp Ip Lab Manual Mit

OUTPUT:SERVERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac server1.javaC:\Program Files\Java\jdk1.6.0\bin>java server1enter the msg to send:HAI FRIENDSmsg received:HELLOenter the msg to send:endC:\Program Files\Java\jdk1.6.0\bin>CLIENTC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac client1.javaC:\Program Files\Java\jdk1.6.0\bin>java client1C:\Program Files\Java\jdk1.6.0\bin>java client1msg received:HAI FRIENDSenter the msg to send:HELLOenter 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.

Page 13: Tcp Ip Lab Manual Mit

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:

1. Import .net and other necessary packages.2. Daclare objects for DatagramSocket and DatagramPacket to receive packet data from server.3. Declere an object for InetAddress of the LocalHost.4. Get user input data and convert it into bytes and send the bytes using DatagramPacket and DatagramSocket.5. Get user input in an loop and send data until the user input points end.6. If end is encountered,exit sending data and program.

CLIENT:

1. Import .net and other necessary Packages.2. Declare objects for DatagramSocket and Datagrampacket to send packet data from server.3. Declare an object for InetAddress of the LocalHost.4.Receive the server data using receive() method and store it to a string.5.Run an loop and store the data in the string until the received message points end.6.print the string unless it encounters end.

Page 14: Tcp Ip Lab Manual Mit

UDP ONE WAY COMMUNICATION

SOURCE CODE:SENDER

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();}}

Page 15: Tcp Ip Lab Manual Mit

RECEIVERimport 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();} }

Page 16: Tcp Ip Lab Manual Mit

OUTPUT:SENDERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac sender.javaC:\Program Files\Java\jdk1.6.0\bin>java senderEnter the msg:IT KINGSdo u want to continue:yes or nonoC:\Program Files\Java\jdk1.6.0_14\bin>

RECEIVERC:\Documents and Settings\SEENU.R>Cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac receive.javaC:\Program Files\Java\jdk1.6.0_14\bin>java receiveIT KINGSInetAddress:/172.16.11.99C:\Program Files\Java\jdk1.6.0_14\bin>

RESULT:

Thus the output for the java program is executed and verified successfully.

Page 17: Tcp Ip Lab Manual Mit

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:

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. Declare an object for InetAddress of the LocalHost.5. Receive the Server 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.

Page 18: Tcp Ip Lab Manual Mit

UDP TWO WAY COMMUNICATION

SOURCE CODE:SENDERimport java.io.*;import java.net.*;class sender{public static void main(String a[])throws Exception{while(true){DatagramSocket ds=new DatagramSocket();BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("enter the msg:");String msg=br.readLine();byte bl[]=msg.getBytes();InetAddress add=InetAddress.getLocalHost();DatagramPacket dp=new DatagramPacket(bl,bl.length,add,1234);ds.send(dp);if(msg.equals("exit"))System.exit(0);byte b[]=new byte[255];DatagramPacket dp1=new DatagramPacket(bl,bl.length);ds.receive(dp1);String msg1=new String(dp1.getData());System.out.println("received msg:" +msg1);}}}

Page 19: Tcp Ip Lab Manual Mit

RECEIVER

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);

}

}

Page 20: Tcp Ip Lab Manual Mit

OUTPUT:SENDER

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac sender.javaC:\Program Files\Java\jdk1.6.0\bin>java senderenter the msg:GOOD MORNINGreceived msg:HAVE A NICE DAYenter the msg:endC:\Program Files\Java\jdk1.6.0\bin>

RECEIVER:C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac receiver.javaC:\Program Files\Java\jdk1.6.0\bin>java receiverMsg Received:GOOD MORNINGEnter a line of text to send:HAVE A NICE DAYMsg Received:endC:\Program Files\Java\jdk1.6.0\bin>

RESULT:

Thus the output for the java program is executed and verified successfully.

Page 21: Tcp Ip Lab Manual Mit

ECHO

AIM:To Write a program in java to demonstrate the ECHO command.

ALGORITHM:

ECHOSERVER:

1. Start the program.2. Import.net and other necessary packages.3. Declare objects for DataInputStream, Socket and PrintWriter to receive server

message and send it back.4. Store the message in a string and print the message using print() method.5. Send the same received message to the server using PrintWriter and socket.6. When the received message is end, then exit the program execution.

ECHOCLIENT:

1. Start the program.2. Import.net and other necessary packages.3. Declare objects for ServerSocket and Socket to send the message.4. Declare objects for PrintStream to write message from server to client.5. Get the user input and store it in a string.6. Print the string in the socket using printStream to be received by the receiver.7. Using the Print() method, receive the client echo message and print it.8. If the message is end, terminate the program and exit.

Page 22: Tcp Ip Lab Manual Mit

ECHO

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);}}}

Page 23: Tcp Ip Lab Manual Mit

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);}}}

Page 24: Tcp Ip Lab Manual Mit

OUTPUT:

CLIENTC:\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.

Page 25: Tcp Ip Lab Manual Mit

PING COMMAND

AIM:To write a program in java to demonstrate the usage of PING command.

ALGORITHM:

1. Start the program.2. Import.net and other necessary packages.3. Initialize the ping server with both sockets as null value.4. Start the serversocket.5. At the client and give the IP address of the server.6. The client program is then started by starting socket.7. At the receiver end, the server is pinged.

Page 26: Tcp Ip Lab Manual Mit

PING COMMAND

SOURCE CODE:PING SERVERimport 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); } } }

Page 27: Tcp Ip Lab Manual Mit

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++){

Page 28: Tcp Ip Lab Manual Mit

}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");}}}

Page 29: Tcp Ip Lab Manual Mit

OUTPUT

PING CLIENTC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac pingclient.javaC:\Program Files\Java\jdk1.6.0\bin>java pingcliententer the IP address:192.168.1.10pinging192.168.1.10with 32 bytes of data5reply from58reply from89reply from94reply from4C:\Program Files\Java\jdk1.6.0\bin>

PINGSERVERC:\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.

Page 30: Tcp Ip Lab Manual Mit

IMPLEMENTATION OF TALK COMMAND

AIM:To send and receive message from client and server using connection oriented service.

ALGORITHM:SERVER:

1. Create server and client sockets.2. Use input streams to get the message from user.3. Use output stream to send message to the client.4. Wait for client to display this message and write a new one to be displayed by the

server.5. Display message given at client using input streams read from socket.6. If in the message given by server or client, the word “end” is encountered, exit both

the programs.

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.

Page 31: Tcp Ip Lab Manual Mit

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());}}}

Page 32: Tcp Ip Lab Manual Mit

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){}}}

Page 33: Tcp Ip Lab Manual Mit

OUTPUT:

RESULT:

Thus the output for the java program is executed and verified successfully.

Page 34: Tcp Ip Lab Manual Mit

IMPLEMENTATION OF FTP

AIM:To write a java program to perform “File Transfer Protocol”.

ALGORITHM

SERVER SIDE1. Import the java packages and create class fileserver.

2. String of argument is passed to the args[].

3. Create a new server socket and bind it to the port.

4. Accept the client connection at the requested port.

5. Get the filename and stored into the BufferedReader.

6. Create a new object class file and readline.

7. If File is exists then FileReader read the content until EOF is reached.

8. Else Print FileName does’t exits.

9. End of main.

10. End of FileServer class.

CLIENT SIDE1. Import the java packages and create class fileClient.

2. String of argument is passed to the args[].

3. The connection between the client and server is successfully established.

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.

8. End of Fileclient class.

Page 35: Tcp Ip Lab Manual Mit

IMPLEMENTATION OF FTP

SOURCE CODESERVERimport 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();

Page 36: Tcp Ip Lab Manual Mit

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();}}}

Page 37: Tcp Ip Lab Manual Mit

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();}

Page 38: Tcp Ip Lab Manual Mit

}

OUTPUT:SERVERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac fileserver1.javaC:\Program Files\Java\jdk1.6.0\bin>java fileserver1connection frameSocket[addr=/127.0.0.1,port=1056,localport=1187]enter the text file nameHAI.txtthe file send successfullyC:\Program Files\Java\jdk1.6.0\bin>

CLIENT

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac fileclient1.javaC:\Program Files\Java\jdk1.6.0\bin>java fileclient1the content of the file isGOD LOVE'S EVERY ONE IN THE WORLD.the file is received successfullyC:\Program Files\Java\jdk1.6.0\bin>

Page 39: Tcp Ip Lab Manual Mit

RESULT:Thus the output for the java program is executed and verified successfully.

REMOTE METHOD INVOCATION – FACTORIAL OF A NUMBER

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.

Page 40: Tcp Ip Lab Manual Mit

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);}}}

Page 41: Tcp Ip Lab Manual Mit

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){}}}

Page 42: Tcp Ip Lab Manual Mit

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.*;

Page 43: Tcp Ip Lab Manual Mit

import java.rmi.server.*;public interface inter extends Remote{public void fact(int n) throws RemoteException;}

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 inter.java

C:\Program Files\Java\jdk1.6.0\bin>javac implement.java C:\Program Files\Java\jdk1.6.0\bin>javac rmiserver.java C:\Program Files\Java\jdk1.6.0\bin>start rmiregistry C:\Program Files\Java\jdk1.6.0\bin>java rmiserver server ready Factorial of 8 is 40320

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

Page 44: Tcp Ip Lab Manual Mit

RESULT:

Thus the output for the java program is executed and verified successfully.

1-BIT SLIDING WINDOW PROTOCOL

AIM:To write a program in java for one bit sliding window protocol.

ALGORITHM:SERVER:

1. Start the program.2. Import .net and other necessary packages.3. Declare objects for input/oiutput and Socket to receive the frame and send acknowledgement.4. Wait for the client to establish connection.5. Receive the frame one by one from the socket and return the frame number as acknowledgement within the thread sleep time.6. send acknowledgement for each receiving frame and continue the process until acknowledgement for all frames are sent.7. when acknowledgement the last frame, exit the program.

CLIENT:

1. Start the program.2. Import .net and other necessary packages.3. Create objects for Serversocket,socket to send the frames.

Page 45: Tcp Ip Lab Manual Mit

4. Display the server address when the server is connected.5. Get the number of frames to be sent,from the user.6. send the frist frame to servert using the socket.7. when one frame is sent,wait for the acknowledgement from the receiver for the

previous frame.8. Make use of Thread.Sleepa()method to pause the sending of frame until

acknowledgement is received.9. when the acknowledgement is received,send the next frame.10. Continue the process till all specified number of frames are sent and

acknowledgement is received.11. When all the frames are sent and acknowledgement is received exit the program.

1-BIT SLIDING WINDOW PROTOCOL SERVER:

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();

Page 46: Tcp Ip Lab Manual Mit

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();

Page 47: Tcp Ip Lab Manual Mit

jj++;}out.flush();in.close();inn.close();out.close();System.out.println("quiting");}catch(Exception e){System.out.println(e);}}}

OUTPUTBITCLIENTC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac bitclient.javaC:\Program Files\Java\jdk1.6.0\bin>java bitclientLocalhost/127.0.0.1connectenter the no of frames to be requested to server:4received frame no1sending acknowledgement for frame no1received frame no2sending acknowledgement for frame no2received frame no3sending acknowledgement for frame no3received frame no4sending acknowledgement for frame no4quitingC:\Program Files\Java\jdk1.6.0\bin>

BITSERVERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac bitserver.javaC:\Program Files\Java\jdk1.6.0\bin>java bitserverwaiting for connectionreceived request for sending framessending.....sending frame no1waiting for acknowledgereceived acknowledge for frame no:1as1sending frame no2waiting for acknowledge

Page 48: Tcp Ip Lab Manual Mit

received acknowledge for frame no:2as2sending frame no3waiting for acknowledgereceived acknowledge for frame no:3as3sending frame no4waiting for acknowledgereceived acknowledge for frame no:4as4quitingC:\Program Files\Java\jdk1.6.0\bin>

RESULT:

Thus the output for the java program is executed and verified successfully.

IMPLEMENTATION OF REMOTE COMMAND EXECUTION

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.

Page 49: Tcp Ip Lab Manual Mit

SOURCE CODE

SERVER

import java.io.*;import java.net.*;import java.lang.*;class RCEserver{public static void main(String a[])throwsIOException,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();}}

Page 50: Tcp Ip Lab Manual Mit

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();}}

Page 51: Tcp Ip Lab Manual Mit

OUTPUTSERVER

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac RCEserver.javaC:\Program Files\Java\jdk1.6.0\bin>java RCEservercalc

CLIENT

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac RCEclient.java.C:\Program Files\Java\jdk1.6.0\bin>java RCEclientEnter cmd:calcC:\Program Files\Java\jdk1.6.0\bin>

Page 52: Tcp Ip Lab Manual Mit

RESULT:Thus the output for the java program is executed and verified successfully.

BROADCASTING

AIM:To write a java program to send a single message to multiclient.

ALGORITHM:SENDER:

1. Start the program.2. Import .net and other necessary packages.3. The DatagramSocket and the DataInputStream are initialized.4. The buffer is declare for message.5. The message is obtained from the user.6. The message is delievered to the client one by one with the help of the Datagram

Packet.7. The client details is obtained.8. If message is ‘bye’ then the server quits.

CLIENT:

Page 53: Tcp Ip Lab Manual Mit

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

SERVERimport 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++){

Page 54: Tcp Ip Lab Manual Mit

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);

Page 55: Tcp Ip Lab Manual Mit

if(msg.equalsIgnoreCase("Bye")){System.out.println("Quits");return;}}catch(Exception e){System.out.println("Error:"+e);}}}}

OUTPUTBROADSERVER

C:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0_14\binC:\Program Files\Java\jdk1.6.0_14\bin>javac broadsender.javaNote: broadsender.java uses or overrides a deprecated API.Note: Recompile with -Xlint:deprecation for details.C:\Program Files\Java\jdk1.6.0_14\bin>java broadsenderServerGOOD MORNINGUnable to connect at sys1java.net.UnknownHostException: sys1Unable to connect at sys2java.net.UnknownHostException: sys2Unable to connect at sys3java.net.UnknownHostException: sys3Unable to connect at sys4java.net.UnknownHostException: sys4Unable to connect at sys5java.net.UnknownHostException: sys5Unable to connect at sys6java.net.UnknownHostException: sys6Unable to connect at sys7java.net.UnknownHostException: sys7Unable to connect at sys8java.net.UnknownHostException: sys8Unable to connect at sys9java.net.UnknownHostException: sys9Unable to connect at sys10java.net.UnknownHostException: sys10Server

Page 56: Tcp Ip Lab Manual Mit

BYEUnable to connect at sys1java.net.UnknownHostException: sys1Server quitsC:\Program Files\Java\jdk1.6.0_14\bin>

BROADRECEIVERC:\Documents and Settings\SEENU.R>cd\C:\>cd C:\Program Files\Java\jdk1.6.0_14\binC:\Program Files\Java\jdk1.6.0_14\bin>javac broadreceive.javaC:\Program Files\Java\jdk1.6.0_14\bin>java broadreceive

RESULT:Thus the output for the java program is executed and verified successfully.

CYCLIC REDUNDANCY CHECK

AIM:To write a java program to implement cyclic redundancy check.

ALGORITHM:

1. Start the program.2. Import necessary packages.3. Get an user input in the form of bit data ie string.4. Get an generator data from the user.5. Read the length of the string and convert the data into another format by deducing 48

from it.6. Now Add the generator data to the original data and send the string as transmitter

string.7. In the receiving end, enter the generator code.8. Using the generator code, to the length of the received string, add 48 to the number

format of the string by character.9. If the generator string is wrong, display “message received with error”.10. If the generator string is correct, perform step 8 and display “message received with

no error”.

Page 57: Tcp Ip Lab Manual Mit

11. End the program.

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;

Page 58: Tcp Ip Lab Manual Mit

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");elseSystem.out.println("Message received with error");}}

Page 59: Tcp Ip Lab Manual Mit

OUTPUT:

C:\Documents and Settings\LABCSE1>cd\

C:\>cd C:\Program Files\Java\jdk1.6.0\bin

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

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

Enter the frame:10101011Enter the generator:1011Transmitted string:10101011000Enter the received string:1011Message received with no errorC:\Program Files\Java\jdk1.6.0\bin>

Page 60: Tcp Ip Lab Manual Mit

RESULT:Thus the output for the java program is executed and verified successfully.

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.

Page 61: Tcp Ip Lab Manual Mit

OUTPUTSOURCE 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++){

Page 62: Tcp Ip Lab Manual Mit

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;

Page 63: Tcp Ip Lab Manual Mit

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:\Documents and Settings\LABCSE1>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac spath.javaC:\Program Files\Java\jdk1.6.0\bin>java spathEnter the no of vertex:3Enter the source vertex:1Enter the destination vertex:3Enter the distance between1and22Enter the distance between1and31Enter the distance between2and20Enter the distance between2and30 3<---- 1Distance is 1

Page 64: Tcp Ip Lab Manual Mit

C:\Program Files\Java\jdk1.6.0\bin>java spathEnter the no of vertex:4Enter the source vertex:1Enter the destination vertex:4Enter the distance between1and22Enter the distance between1and33Enter the distance between1and45Enter the distance between2and20Enter the distance between2and30

Enter the distance between2and42Enter the distance between3and20Enter the distance between3and30Enter the distance between3and43 4<---- 2<---- 1Distance is 4

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

Page 65: Tcp Ip Lab Manual Mit

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: 1. Start the program.2. Import .net and other necessary packages.3. Declare objects for Socket,ServerSocket and PrintStream to transfer the encrypted string.4. Initialize string variables to null.5. Get an integer value from the user as key and a string from the user.6. Read the string in character format to its length using charAt().7. Convert each character to integer and add the key value to display it as a encrypted string.8. Send the encrypted string and value to the client using PrintStream an Socket.9. After sending the string and key exit the program.CLIENT:

Page 66: Tcp Ip Lab Manual Mit

1. Start the program.2. Import .net and other necessary packages.3. Declare objects for Socket and InputStream to receive the string and key from server.4. Store the string and key to different variables.5. Read the string character wise to its length.6. Request the user to enter the key for decryption.7. Compare the key with the received key;8. If both keys are equal then, -Convert the each charater of the string to integer and deduce the key value. - Convert the integer value to character and form it into a string and display the decrypted string. Else

-Print the message as cannot decrypt, wrong message and quit.

9. End the program.

SOURCE CODESERVER

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()){

Page 67: Tcp Ip Lab Manual Mit

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);}}}

CLIENTimport 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()){

Page 68: Tcp Ip Lab Manual Mit

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

C:\Documents and Settings\LABCSE1>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac encrypserver.javaC:\Program Files\Java\jdk1.6.0\bin>java encrypserver Enter a String :GOD IS GREATEnter the key:8 Encrypted String :PXM)R\)P[NJ]C:\Program Files\Java\jdk1.6.0\bin>

CLIENT

C:\Documents and Settings\LABCSE1>cd\C:\>cd C:\Program Files\Java\jdk1.6.0\binC:\Program Files\Java\jdk1.6.0\bin>javac decrypclient.javaC:\Program Files\Java\jdk1.6.0\bin>java decrypclient Encrypted sender String :PXM)R\)P[NJ] Enter the key :8Decrypted String :GOD IS GREAT

Page 69: Tcp Ip Lab Manual Mit

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

RESULT:

Thus the output for the java program is executed and verified successfully.