Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Networks CS1 (2-7)
- • Write a Java program to run the basic networking commands.
- • Write a program to display the name of the computer and its IP address that you are currently working on.
- • Write a program to print the IP address of “www.google.com” all IP addresses of “www.microsoft.com”.
- • Write a program to print all Network Interfaces of “localhost”.
- • Implement the simple version of “nslookup” utility.
- • Write a program to download the contents associated with a HTTP URL and save it in a file.
- 2) Write a Java program to run the basic networking commands
- import java.net.*;
- import java.util.*;
- import java.io.*;
- public class command
- {
- public static void main(String args[])
- throws Exception
- {
- BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
- System.out.println("enter command:");
- String s=br.readLine();
- Process p=Runtime.getRuntime().exec(s);
- p.waitFor();
- BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
- String line=reader.readLine();
- while(line!=null)
- {
- System.out.println(line);
- line=reader.readLine();0
- }
- System.out.println("done!");
- }
- }
- 3) Write a program to display the name of the computer and its IP address that you are currently working on.
- import java.net.*;
- import java.io.*;
- public class cm
- {
- public static void main(String args[])
- {
- try
- {
- BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Enter the url which you want to find ip address and host name");
- String str=br.readLine();
- InetAddress add=InetAddress.getByName(str);
- System.out.println("Local Host Information");
- System.out.println("Host Name:"+add.getHostName());
- System.out.println("IP address:"+add.getHostAddress());
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- 4) Write a program to print the IP address of “www.google.com” all IP addresses of “www.microsoft.com”.
- import java.net.*;
- import java.io.*;
- public class ip
- {
- public static void main(String args[])
- throws UnknownHostException {
- System.out.println(InetAddress.getByName("www.google.com"));
- InetAddress[] inetAddresses=InetAddress.getAllByName("www.microsoft.com");
- for(InetAddress ipAddress:inetAddresses)
- {
- System.out.println(ipAddress);
- }
- }
- }
- 5) Write a program to print all Network Interfaces of “localhost”.
- import java.net.*;
- import java.util.*;
- import java.io.*;
- public class ni
- {
- public static void main(String args[]) throws UnknownHostException,SocketException
- {
- Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
- if(interfaces==null)
- {
- System.out.println("No network interfaces found");
- }
- else
- {
- for(NetworkInterface netIf:Collections.list(interfaces))
- {
- System.out.println("Display Name:" + netIf.getDisplayName());
- System.out.println("Name : " + netIf.getName());
- System.out.println();
- }
- }
- }
- }
- 6) Implement the simple version of “nslookup” utility.
- import java.net.*;
- import java.io.*;
- import java.util.*;
- public class nslook
- {
- public static void main(String args[]) throws Exception
- {
- BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Enter the hostname");
- String cmd=br.readLine();
- Process p=Runtime.getRuntime().exec("nslookup "+cmd);
- p.waitFor();
- BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
- String line=reader.readLine();
- while(line!=null)
- {
- System.out.println(line);
- line=reader.readLine();
- }
- System.out.println("Done");
- }
- }
- 7) Write a program to download the contents associated with a HTTP URL and save it in a file.
- import java.io.*;
- import java.net.*;
- public class GetJavaUrl
- {
- public static void main(String[] args)
- {
- URL u;
- InputStream is=null;
- DataInputStream dis;
- String s;
- try
- {
- u=new URL("ftp://10.30.2.53");
- is=u.openStream();
- dis = new DataInputStream(new BufferedInputStream(is));
- while((s=dis.readLine())!=null)
- {
- System.out.println(s);
- }
- }
- catch(MalformedURLException mue)
- {
- System.out.println("404: Error NOT FOUND");
- mue.printStackTrace();
- System.exit(1);
- }
- catch(IOException ioe)
- {
- System.out.println("404: Error NOT FOUND");
- ioe.printStackTrace();
- System.exit(1);
- }
- finally
- {
- try
- {
- is.close();
- }
- catch(IOException ioe)
- {
- }
- }
- }
- }
- ITE 304 Computer Networks Lab
- Cycle sheet-2
- 1. Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
- 2. Implement echo server and client in java using TCP sockets.
- 3. Implement date server and client in java using TCP sockets.
- 4. Write a program to implement a simple message transfer from client to server process using TCP/IP.
- 5. Develop a TCP client/server application for transferring a text file from client to server?
- 6. Implement a chat server and client in java using TCP sockets.
- 7. Implement a TCP based server program to authenticate the client’s User Name and Password. The validity of the client must be sent as the reply message to the client and display it on the standard output.
- 8. Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
- 9. Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
- 10. Implement Domain Name System (DNS) using TCP/IP
- 11. Implement a TCP/IP based Server program in Java to compute the factorial of a number (can contain arbitrary number of digits). Write a client program to test the working of the same.
- 12. Find the class of the IP address using TCP/IP.
- Solutions
- Q1 Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
- import java.net.Socket;
- import java.net.*;
- public class A {
- public static void main(String[] args) throws Exception{
- try {
- for(int i=0;i<1024;i++)
- {
- Socket s=new Socket("localhost",i);
- System.out.println(i);
- }
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- }
- Q2 Implement echo server and client in java using TCP sockets.
- server
- import java.io.*;
- import java.net.*;
- public class EchoServer
- {
- public static void main(String args[]) throws Exception
- {
- try
- {
- int Port;
- BufferedReader Buf =new BufferedReader(new
- InputStreamReader(System.in));
- System.out.print(" Enter the Port Address : " );
- Port=Integer.parseInt(Buf.readLine());
- ServerSocket sok =new ServerSocket(Port);
- System.out.println(" Server is Ready To Receive a Message. ");
- System.out.println(" Waiting ..... ");
- Socket so=sok.accept();
- if(so.isConnected()==true)
- System.out.println(" Client Socket is Connected Succecfully. ");
- InputStream in=so.getInputStream();
- OutputStream ou=so.getOutputStream();
- PrintWriter pr=new PrintWriter(ou);
- BufferedReader buf=new BufferedReader(new
- InputStreamReader(in));
- String str=buf.readLine();
- System.out.println(" Message Received From Client : " + str);
- System.out.println(" This Message is Forwarded To Client. ");
- pr.println(str);
- pr.flush();
- }
- catch(Exception e)
- {
- System.out.println(" Error : " + e.getMessage());
- }
- }
- }
- client
- import java.io.*;
- import java.net.*;
- public class EchoClient
- {
- public static void main(String args[]) throws Exception
- {
- try {
- int Port;
- BufferedReader Buf =new BufferedReader(new
- InputStreamReader(System.in));
- System.out.print(" Enter the Port Address : " );
- Port=Integer.parseInt(Buf.readLine());
- Socket sok=new Socket("localhost",Port);
- if(sok.isConnected()==true)
- System.out.println(" Server Socket is Connected Succecfully. ");
- InputStream in=sok.getInputStream();
- OutputStream ou=sok.getOutputStream();
- PrintWriter pr=new PrintWriter(ou);
- BufferedReader buf1=new BufferedReader(new
- InputStreamReader(System.in));
- BufferedReader buf2=new BufferedReader(new
- InputStreamReader(in));
- String str1,str2;
- System.out.print(" Enter the Message : ");
- str1=buf1.readLine();
- pr.println(str1);
- pr.flush();
- System.out.println(" Message Send Successfully. ");
- str2=buf2.readLine();
- System.out.println(" Message From Server : " + str2);
- }
- catch(Exception e)
- {
- System.out.println(" Error : " + e.getMessage());
- }
- }
- }
- Q3 Implement date server and client in java using TCP sockets.
- client
- import java.io.*;
- import java.net.*;
- class DateClient
- {
- public static void main(String args[]) throws Exception
- {
- Socket soc=new Socket(InetAddress.getLocalHost(),5217);
- BufferedReader in=new BufferedReader(new InputStreamReader( soc.getInputStream() ) );
- System.out.println(in.readLine());
- }
- }
- server
- import java.net.*;
- import java.io.*;
- import java.util.*;
- class DateServer
- {
- public static void main(String args[]) throws Exception
- {
- ServerSocket s=new ServerSocket(5217);
- while(true)
- {
- System.out.println("Waiting For Connection ...");
- Socket soc=s.accept();
- DataOutputStream out=new DataOutputStream(soc.getOutputStream());
- out.writeBytes("Server Date" + (new Date()).toString() + "\n");
- out.close();
- soc.close();
- }
- }
- }
- Q4 , Q6 Write a program to implement a simple message transfer from client to server process using TCP/IP.
- SERVER
- import java.io.*;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import java.net.*;
- public class GossipServer
- {
- public static void main(String[] args) throws Exception
- {
- ServerSocket sersock = new ServerSocket(3000);
- System.out.println("Server ready for chatting");
- Socket sock = sersock.accept( );
- // reading from keyboard (keyRead object)
- BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
- // sending to client (pwrite object)
- OutputStream ostream = sock.getOutputStream();
- PrintWriter pwrite = new PrintWriter(ostream, true);
- // receiving from server ( receiveRead object)
- InputStream istream = sock.getInputStream();
- BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
- String receiveMessage, sendMessage;
- while(true)
- {
- if((receiveMessage = receiveRead.readLine()) != null)
- {
- System.out.println(receiveMessage);
- }
- sendMessage = keyRead.readLine();
- pwrite.println(sendMessage);
- pwrite.flush();
- }
- }
- }
- CLINET
- import java.io.*;
- import java.net.*;
- public class GossipClient
- {
- public static void main(String[] args) throws Exception
- {
- Socket sock = new Socket("127.0.0.1", 3000);
- // reading from keyboard (keyRead object)
- BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
- // sending to client (pwrite object)
- OutputStream ostream = sock.getOutputStream();
- PrintWriter pwrite = new PrintWriter(ostream, true);
- // receiving from server ( receiveRead object)
- InputStream istream = sock.getInputStream();
- BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
- System.out.println("Start the chitchat, type and press Enter key");
- String receiveMessage, sendMessage;
- while(true)
- {
- sendMessage = keyRead.readLine(); // keyboard reading
- pwrite.println(sendMessage); // sending to server
- pwrite.flush(); // flush the data
- if((receiveMessage = receiveRead.readLine()) != null) //receive from server
- {
- System.out.println(receiveMessage); // displaying at DOS prompt
- }
- }
- }
- }
- Q7 Implement a TCP based server program to authenticate the client’s User Name and Password. The validity of the client must be sent as the reply message to the client and display it on the standard output.
- CLIENT
- import java.io.*;
- import java.net.*;
- class TCPClientAuth {
- public static void main(String argv[]) throws Exception
- {
- String username;
- String password;
- String auth;
- BufferedReader inFromUser =
- new BufferedReader(new InputStreamReader(System.in));
- Socket clientSocket = new Socket("localhost", 6789);
- DataOutputStream outToServer =
- new DataOutputStream(clientSocket.getOutputStream());
- BufferedReader inFromServer =
- new BufferedReader(new
- InputStreamReader(clientSocket.getInputStream()));
- System.out.print("Username :");
- username = inFromUser.readLine();
- System.out.print("Password :");
- password = inFromUser.readLine();
- outToServer.writeBytes(username + '\n' + password + '\n' );
- auth = inFromServer.readLine();
- System.out.println("FROM SERVER: " + auth);
- clientSocket.close();
- }
- }
- SERVER
- import java.io.*;
- import java.net.*;
- class TCPServerAuth {
- public static void main(String argv[]) throws Exception
- {
- String username;
- String password;
- String auth;
- ServerSocket welcomeSocket = new ServerSocket(6789);
- while(true) {
- Socket connectionSocket = welcomeSocket.accept();
- BufferedReader inFromClient =
- new BufferedReader(new
- InputStreamReader(connectionSocket.getInputStream()));
- DataOutputStream outToClient =
- new DataOutputStream(connectionSocket.getOutputStream());
- username = inFromClient.readLine();
- password = inFromClient.readLine();
- if (username.equals("Admin")){
- if (password.equals("root")){
- auth = "Login Successful!";
- }else{
- auth = "Wrong Password";
- }
- }else{
- auth = "Wrong Username";
- }
- outToClient.writeBytes(auth);
- connectionSocket.close();
- }
- }
- }
- Q8.Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
- CLIENT:
- import java.io.*;
- import java.util.*;
- import java.net.*;
- public class q8client
- {
- public static void main(String[] args)
- {
- try
- {
- Socket s = new Socket("localhost",5555);
- BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- DataInputStream din = new DataInputStream(s.getInputStream());
- System.out.println("Enter the logical address: ");
- String str = b.readLine();
- dout.writeBytes(str + "\n");
- String str1 = din.readLine();
- System.out.println("Physical Address of str: " + str1);
- s.close();
- }
- catch (Exception e)
- {
- }
- }}
- SERVER:
- import java.io.*;
- import java.util.*;
- import java.net.*;
- public class q8server
- {
- public static void main(String[] args)
- {
- try
- {
- ServerSocket ss = new ServerSocket(5555);
- Socket s = ss.accept();
- BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
- DataOutputStream dout = new DataOutputStream(s.getOutputStream());
- DataInputStream din = new DataInputStream(s.getInputStream());
- String str = din.readLine();
- String logical[] = {"172.16.27.34","195.24.54.204"};
- String physical[] = {"8E:AE:08:AA","0A:78:6C:AD"};
- for(int i=0;i<logical.length;i++)
- {
- if (str.equals(logical[i]))
- {
- dout.writeBytes(physical[i] + "\n");
- break;
- }
- }
- s.close();
- }
- catch (Exception e)
- {
- }
- }
- }
- OUTPUT:
- =====================================================
- Q9.Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
- CLIENT:
- import java.io.*;
- import java.net.*;
- class TCPLogClient {
- public static void main(String argv[]) throws Exception
- {
- String logicAdd;
- String phyAdd;
- BufferedReader inFromUser =
- new BufferedReader(new InputStreamReader(System.in));
- Socket clientSocket = new Socket("localhost", 6789);
- DataOutputStream outToServer =
- new DataOutputStream(clientSocket.getOutputStream());
- BufferedReader inFromServer =
- new BufferedReader(new
- InputStreamReader(clientSocket.getInputStream()));
- System.out.println("Enter Physical address of host");
- phyAdd = inFromUser.readLine();
- outToServer.writeBytes(phyAdd + '\n');
- logicAdd = inFromServer.readLine();
- System.out.println("FROM SERVER: Logical Address " + logicAdd);
- clientSocket.close();
- }
- }
- SERVER:
- import java.io.*;
- import java.net.*;
- class TCPLogServer {
- public static void main(String argv[]) throws Exception
- {
- String phyAdd;
- ServerSocket welcomeSocket = new ServerSocket(6789);
- while(true) {
- Socket connectionSocket = welcomeSocket.accept();
- BufferedReader inFromClient =
- new BufferedReader(new
- InputStreamReader(connectionSocket.getInputStream()));
- String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
- String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
- DataOutputStream outToClient =
- new DataOutputStream(connectionSocket.getOutputStream());
- phyAdd = inFromClient.readLine();
- for(int i = 0; i < physical.length; i++)
- {
- if (phyAdd.equals(physical[i]))
- {
- outToClient.writeBytes(logical[i] + "\n");
- connectionSocket.close();
- }
- }
- }
- }
- }
- =======================================
- 10.Implement Domain Name System (DNS) using TCP/IP
- SERVER:
- import java.io.*;
- import java.net.*;
- class TCPLoServer {
- public static void main(String argv[]) throws Exception
- {
- String D;
- ServerSocket welcomeSocket = new ServerSocket(6789);
- while(true) {
- Socket connectionSocket = welcomeSocket.accept();
- BufferedReader inFromClient =
- new BufferedReader(new
- InputStreamReader(connectionSocket.getInputStream()));
- String hostaddr[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
- String DNS[] = {"www.google.com","www.facebook.com", "www.vit.ac.in"};
- DataOutputStream outToClient =
- new DataOutputStream(connectionSocket.getOutputStream());
- D = inFromClient.readLine();
- for(int i = 0; i < hostaddr.length; i++)
- {
- if (D.equals(hostaddr[i]))
- {
- outToClient.writeBytes(DNS[i] + "\n");
- connectionSocket.close();
- }
- }
- }
- }
- }
- CLIENT:
- import java.io.*;
- import java.net.*;
- class TCPLoClient {
- public static void main(String argv[]) throws Exception
- {
- String hostaddr;
- String DNS;
- BufferedReader inFromUser =
- new BufferedReader(new InputStreamReader(System.in));
- Socket clientSocket = new Socket("localhost", 6789);
- DataOutputStream outToServer =
- new DataOutputStream(clientSocket.getOutputStream());
- BufferedReader inFromServer =
- new BufferedReader(new
- InputStreamReader(clientSocket.getInputStream()));
- System.out.println("Enter IP address of host");
- DNS = inFromUser.readLine();
- outToServer.writeBytes(DNS + '\n');
- hostaddr = inFromServer.readLine();
- System.out.println("FROM SERVER: Logical Address " + hostaddr);
- clientSocket.close();
- }
- }
- *************************************************
- 11.Implement a TCP/IP based Server program in Java to compute the factorial of a number (can contain arbitrary number of digits). Write a client program to test the working of the same.
- CLIENT:
- import java.io.*;
- import java.net.*;
- class client {
- public static void main(String argv[]) throws Exception
- {
- String sentence;
- String modifiedSentence;
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- Socket clientSocket = new Socket("localhost", 2222);
- DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
- BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
- System.out.println("Enter a number - ");
- sentence = inFromUser.readLine();
- outToServer.writeBytes(sentence + '\n');
- modifiedSentence = inFromServer.readLine();
- System.out.println ("Factorial: " + modifiedSentence );
- clientSocket.close();
- }
- }
- SREVER:
- import java.io.*;
- import java.net.*;
- class serv {
- public static void main(String argv[]) throws Exception
- {
- String clientSentence;
- String capitalizedSentence;
- ServerSocket welcomeSocket = new ServerSocket(2222);
- Socket connectionSocket = welcomeSocket.accept();
- BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
- DataOutputStream outToClient = new DataOutputStream (connectionSocket.getOutputStream());
- clientSentence = inFromClient.readLine();
- int num = Integer.parseInt(clientSentence);
- int fact=1;
- for(int i=1;i<=num;i++)
- fact=fact*i;
- System.out.println("Factorial : "+fact);
- capitalizedSentence = String.valueOf(fact);
- //capitalizedSentence = clientSentence.toUpperCase() + '\n';
- outToClient.writeBytes(capitalizedSentence);
- }
- }
- ******************************************************
- Ques12.Find the class of the IP address using TCP/IP.
- import java.io.*;
- import java.net.*;
- class TCPIpclassServer {
- public static void main(String argv[]) throws Exception
- {
- String ip;
- int fbyte;
- String ipclass = "Invalid";
- ServerSocket welcomeSocket = new ServerSocket(6789);
- while(true) {
- Socket connectionSocket = welcomeSocket.accept();
- BufferedReader inFromClient =
- new BufferedReader(new
- InputStreamReader(connectionSocket.getInputStream()));
- DataOutputStream outToClient =
- new DataOutputStream(connectionSocket.getOutputStream());
- ip = inFromClient.readLine();
- int index;
- index = ip.indexOf(".");
- ip = ip.substring(0, index);
- fbyte = Integer.parseInt(ip);
- if (fbyte >= 0 && fbyte <= 127)
- ipclass = "Class A";
- else if (fbyte >= 128 && fbyte <= 191)
- ipclass = "Class B";
- else if (fbyte >= 192 && fbyte <= 223)
- ipclass = "Class C";
- else if (fbyte >= 224 && fbyte <= 239)
- ipclass = "Class D";
- else if (fbyte >= 240 && fbyte <= 255)
- ipclass = "Class E";
- outToClient.writeBytes(ipclass + "\n");
- connectionSocket.close();
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- class TCPIpclassClient {
- public static void main(String argv[]) throws Exception
- {
- String ip;
- String ipclass;
- BufferedReader inFromUser =
- new BufferedReader(new InputStreamReader(System.in));
- Socket clientSocket = new Socket("localhost", 6789);
- DataOutputStream outToServer =
- new DataOutputStream(clientSocket.getOutputStream());
- BufferedReader inFromServer =
- new BufferedReader(new
- InputStreamReader(clientSocket.getInputStream()));
- System.out.println("Enter an IP address: ");
- ip = inFromUser.readLine();
- outToServer.writeBytes(ip + '\n');
- ipclass = inFromServer.readLine();
- System.out.println("FROM SERVER: Class for IP: "+ ip + " is : " + ipclass);
- clientSocket.close();
- }
- }
- CYCLESHEET 3
- 1. Implement echo server and client in java using UDP sockets.
- 2. Write a program to implement a text based message transfer from client to server process using UDP.
- 3. Implement a chat server and client in java using UDP sockets.
- 4. Implement a DNS server and client in java using UDP sockets.
- 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
- 6. Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
- 7. Implement Client - Server communication to access Date using UDP in Java.
- Solutions :
- 1.Implement echo server and client in java using UDP sockets.
- import java.io.*;
- import java.net.*;
- public class EServer
- {
- public static void main(String[] args) throws IOException
- {
- ServerSocket S = new ServerSocket(3000);
- while(true)
- {
- Socket Client = S.accept();
- InputStream in = Client.getInputStream();
- DataInputStream Dis = new DataInputStream(in);
- System.out.println(Dis.readUTF());
- Client = new Socket("localhost",4000);
- BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
- String Str = buff.readLine();
- OutputStream out = Client.getOutputStream();
- DataOutputStream Dos = new DataOutputStream(out);
- Str = "Server Says :: " + Str;
- Dos.writeUTF(Str);
- Client.close();
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- import java.util.*;
- public class EClient
- {
- public static void main(String[] args) throws IOException
- {
- Socket C = new Socket("localhost",3000);
- BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
- String Str = buff.readLine();
- OutputStream out = C.getOutputStream();
- DataOutputStream Dos = new DataOutputStream(out);
- Dos.writeUTF("Client Say :: " + Str);
- Dos.flush();
- ServerSocket S = new ServerSocket(4000);
- Socket Client = S.accept();
- InputStream in = Client.getInputStream();
- DataInputStream Dis = new DataInputStream(in);
- System.out.println(Dis.readUTF());
- Client.close();
- }
- }
- OUTPUT:
- ***************************************************
- 2.Write a program to implement a text based message transfer from client to server process using UDP.
- //server
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class Server
- {
- private static Socket socket;
- public static void main(String[] args)
- {
- try
- {
- int port = 25000;
- ServerSocket serverSocket = new ServerSocket(port);
- System.out.println("Server Started and listening to the port 25000");
- //Server is running always. This is done using this while(true) loop
- while(true)
- {
- //Reading the message from the client
- socket = serverSocket.accept();
- InputStream is = socket.getInputStream();
- InputStreamReader isr = new InputStreamReader(is);
- BufferedReader br = new BufferedReader(isr);
- String number = br.readLine();
- System.out.println("Message received from client is "+number);
- //Multiplying the number by 2 and forming the return message
- String returnMessage;
- try
- {
- int numberInIntFormat = Integer.parseInt(number);
- int returnValue = numberInIntFormat*2;
- returnMessage = String.valueOf(returnValue) + "\n";
- }
- catch(NumberFormatException e)
- {
- //Input was not a number. Sending proper message back to client.
- returnMessage = "Please send a proper number\n";
- }
- //Sending the response back to the client.
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- bw.write(returnMessage);
- System.out.println("Message sent to the client is "+returnMessage);
- bw.flush();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- finally
- {
- try
- {
- socket.close();
- }
- catch(Exception e){}
- }
- }
- }
- //client
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.net.InetAddress;
- import java.net.Socket;
- public class Client
- {
- private static Socket socket;
- public static void main(String args[])
- {
- try
- {
- String host = "localhost";
- int port = 25000;
- InetAddress address = InetAddress.getByName(host);
- socket = new Socket(address, port);
- //Send the message to the server
- OutputStream os = socket.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os);
- BufferedWriter bw = new BufferedWriter(osw);
- String number = "2";
- String sendMessage = number + "\n";
- bw.write(sendMessage);
- bw.flush();
- System.out.println("Message sent to the server : "+sendMessage);
- //Get the return message from the server
- InputStream is = socket.getInputStream();
- InputStreamReader isr = new InputStreamReader(is);
- BufferedReader br = new BufferedReader(isr);
- String message = br.readLine();
- System.out.println("Message received from the server : " +message);
- }
- catch (Exception exception)
- {
- exception.printStackTrace();
- }
- finally
- {
- //Closing the socket
- try
- {
- socket.close();
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- OUTPUT:
- **********************************************
- 3.Implement a chat server and client in java using UDP sockets.
- //server
- import java.io.*;
- import java.net.*;
- public class UDPChatServer {
- public static void main(String args[]) throws Exception
- {
- DatagramSocket serverSocket = new DatagramSocket(6789);
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- String reply;
- while(true)
- {
- byte[] receiveData = new byte[1024];
- byte[] sendData = new byte[1024];
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- serverSocket.receive(receivePacket);
- String msg = new String(receivePacket.getData());
- System.out.println("Message Received: " + msg);
- InetAddress IPAddress = receivePacket.getAddress();
- int port = receivePacket.getPort();
- System.out.printf("Enter reply: ");
- reply = inFromUser.readLine();
- if (reply.equals("bye"))
- {
- System.out.printf("Exiting Chat!");
- serverSocket.close();
- break;
- }
- sendData = reply.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
- serverSocket.send(sendPacket);
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- public class UDPChatClient {
- public static void main(String args[]) throws Exception
- {
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- InetAddress IPAddress = InetAddress.getByName("localhost");
- String msg = "";
- while(true)
- {
- byte[] sendData = new byte[1024];
- byte[] receiveData = new byte[1024];
- DatagramSocket clientSocket = new DatagramSocket();
- System.out.printf("Send a Message: ");
- msg = inFromUser.readLine();
- if (msg.equals("bye"))
- {
- System.out.printf("Exiting Chat!");
- clientSocket.close();
- break;
- }
- sendData = msg.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
- clientSocket.send(sendPacket);
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- clientSocket.receive(receivePacket);
- String reply = new String(receivePacket.getData());
- System.out.println("Reply: " + reply);
- clientSocket.close();
- }
- }
- }
- ****************************************
- 4. Implement a DNS server and client in java using UDP sockets.
- //server
- import java.io.*;
- import java.net.*;
- import java.util.*;
- class Serverdns12
- {
- public static void main(String args[])
- {
- try
- {
- DatagramSocket server=new DatagramSocket(1309);
- while(true)
- {
- byte[] sendbyte=new byte[1024];
- byte[] receivebyte=new byte[1024];
- DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
- server.receive(receiver);
- String str=new String(receiver.getData());
- String s=str.trim();
- //System.out.println(s);
- InetAddress addr=receiver.getAddress();
- int port=receiver.getPort();
- String ip[]={"165.165.80.80","165.165.79.1"};
- String name[]={"www.aptitudeguru.com","www.downloadcyclone.blogspot.com"};
- for(int i=0;i<ip.length;i++)
- {
- if(s.equals(ip[i]))
- {
- sendbyte=name[i].getBytes();
- DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
- server.send(sender);
- break;
- }
- else if(s.equals(name[i]))
- {
- sendbyte=ip[i].getBytes();
- DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
- server.send(sender);
- break;
- }
- }
- break;
- }
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- import java.util.*;
- class Clientdns12
- {
- public static void main(String args[])
- {
- try
- {
- DatagramSocket client=new DatagramSocket();
- InetAddress addr=InetAddress.getByName("127.0.0.1");
- byte[] sendbyte=new byte[1024];
- byte[] receivebyte=new byte[1024];
- BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Enter the DOMAIN NAME or IP adress:");
- String str=in.readLine();
- sendbyte=str.getBytes();
- DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
- client.send(sender);
- DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
- client.receive(receiver);
- String s=new String(receiver.getData());
- System.out.println("IP address or DOMAIN NAME: "+s.trim());
- client.close();
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- }
- ***************************
- 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
- //SERVER
- import java.io.*;
- import java.net.*;
- public class UDPRARPServer {
- public static void main(String args[]) throws Exception
- {
- DatagramSocket serverSocket = new DatagramSocket(6789);
- byte[] receiveData = new byte[1024];
- byte[] sendData = new byte[1024];
- String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
- String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
- String reply = "";
- while(true)
- {
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- serverSocket.receive(receivePacket);
- String phyaddr = new String(receivePacket.getData());
- System.out.println("Physical Address received: " + phyaddr);
- phyaddr = phyaddr.trim();
- InetAddress IPAddress = receivePacket.getAddress();
- int port = receivePacket.getPort();
- for(int i = 0; i < physical.length; i++)
- {
- if (phyaddr.equals(physical[i]))
- {
- reply = logical[i];
- sendData = reply.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
- serverSocket.send(sendPacket);
- }
- }
- }
- }
- }
- //CLIENT
- import java.io.*;
- import java.net.*;
- public class UDPRARPClient {
- public static void main(String args[]) throws Exception
- {
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- DatagramSocket clientSocket = new DatagramSocket();
- InetAddress IPAddress = InetAddress.getByName("localhost");
- byte[] sendData = new byte[1024];
- byte[] receiveData = new byte[1024];
- System.out.printf("Enter Physical address: ");
- String phyaddr = inFromUser.readLine();
- sendData = phyaddr.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
- clientSocket.send(sendPacket);
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- clientSocket.receive(receivePacket);
- String logaddr = new String(receivePacket.getData());
- System.out.println("Logical Address:" + logaddr);
- clientSocket.close();
- }
- }
- ********************************
- 6.Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
- //server
- import java.io.*;
- import java.net.*;
- import java.util.*;
- class Serverarp12
- {
- public static void main(String args[])
- {
- try
- {
- DatagramSocket server=new DatagramSocket(1309);
- while(true)
- {
- byte[] sendbyte=new byte[1024];
- byte[] receivebyte=new byte[1024];
- DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
- server.receive(receiver);
- String str=new String(receiver.getData());
- String s=str.trim();
- //System.out.println(s);
- InetAddress addr=receiver.getAddress();
- int port=receiver.getPort();
- String ip[]={"165.165.80.80","165.165.79.1"};
- String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"};
- for(int i=0;i<ip.length;i++)
- {
- if(s.equals(ip[i]))
- {
- sendbyte=mac[i].getBytes();
- DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
- server.send(sender);
- break;
- }
- }
- break;
- }
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- import java.util.*;
- class Clientarp12
- {
- public static void main(String args[])
- {
- try
- {
- DatagramSocket client=new DatagramSocket();
- InetAddress addr=InetAddress.getByName("127.0.0.1");
- byte[] sendbyte=new byte[1024];
- byte[] receivebyte=new byte[1024];
- BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Enter the logical address (IP):");
- String str=in.readLine();
- sendbyte=str.getBytes();
- DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
- client.send(sender);
- DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
- client.receive(receiver);
- String s=new String(receiver.getData());
- System.out.println("The Physical Address is(MAC): "+s.trim());
- client.close();
- }
- catch(Exception e)
- {
- System.out.println(e);
- }
- }
- }
- *********************************
- 7.Implement Client - Server communication to access Date using UDP in Java.
- //server
- import java.io.*;
- import java.net.*;
- import java.util.*;
- public class UDPDateServer {
- public static void main(String args[]) throws Exception
- {
- DatagramSocket serverSocket = new DatagramSocket(6789);
- byte[] receiveData = new byte[1024];
- byte[] sendData = new byte[1024];
- String GetDate = "";
- while(true)
- {
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- serverSocket.receive(receivePacket);
- String msg = new String(receivePacket.getData());
- System.out.println("Message: " + msg);
- InetAddress IPAddress = receivePacket.getAddress();
- int port = receivePacket.getPort();
- msg = msg.trim();
- if (msg.equals("date"))
- {
- Date d = new Date();
- GetDate = d.toString();
- }
- sendData = GetDate.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
- serverSocket.send(sendPacket);
- }
- }
- }
- //client
- import java.io.*;
- import java.net.*;
- public class UDPDateClient {
- public static void main(String args[]) throws Exception
- {
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- DatagramSocket clientSocket = new DatagramSocket();
- InetAddress IPAddress = InetAddress.getByName("localhost");
- byte[] sendData = new byte[1024];
- byte[] receiveData = new byte[1024];
- System.out.printf("Enter Request: ");
- String msg = inFromUser.readLine();
- sendData = msg.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
- clientSocket.send(sendPacket);
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- clientSocket.receive(receivePacket);
- String reply = new String(receivePacket.getData());
- System.out.println("FROM SERVER:" + reply);
- clientSocket.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement