Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CYCLESHEET 2
- 14BIT0198 Nitesh Kumar Agrawal L-25+26+27+28
- 1. 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.*; import java.io.*; public class ports{ public static void main(String args[]) { for(int i=1;;i++) { try{ Socket s=new Socket("127.0.0.1",i); System.out.println("THere is server on port"+i+":of127.0.0.1"); } catch(UnknownHostException e){ System.err.println(e); break;} catch(IOException e){} } }}
- 1 b). Find out which of the first 1024 ports to be hosting TCP Servers on a specified host. (Local Host can be default).
- import java.net.*; import java.io.*; public class ports{ public static void main(String args[]) { for(int i=1;i<1024;i++) { try{ Socket s=new Socket("127.0.0.1",i); System.out.println("THere is server on port"+i+":of127.0.0.1"); } catch(UnknownHostException e){ System.err.println(e); break;} catch(IOException e){} } } }
- 1 c). FInd out which of the ports are above 1024.
- import java.net.*; import java.io.*; public class ports{ public static void main(String args[]) { for(int i=1024;;i++) { try{ Socket s=new Socket("127.0.0.1",i); System.out.println("THere is server on port"+i+":of127.0.0.1"); } catch(UnknownHostException e){ System.err.println(e); break;} catch(IOException e){} } } }
- Q2. Implement Echoserver and client in java using TCP sockets.
- EchoServer.java
- import java.io.*; import java.net.*; public class EchoServer { public EchoServer(int portnum) { try { server = new ServerSocket(portnum); } catch (Exception err) { System.out.println(err); } } public void serve() { try { while (true) { Socket client = server.accept(); BufferedReader r = new BufferedReader(new InputStreamReader(client.getInputStream())); PrintWriter w = new PrintWriter(client.getOutputStream(), true); w.println("Welcome to the Java EchoServer. Type 'bye' to close."); String line; do { line = r.readLine(); if ( line != null ) w.println("Got: "+ line); } while ( !line.trim().equals("bye") ); client.close(); } } catch (Exception err) { System.err.println(err); } } public static void main(String[] args) { EchoServer s = new EchoServer(9996); s.serve(); } private ServerSocket server; }
- EchoClient.java
- import java.io.*; import java.net.*; public class EchoClient { public static void main(String[] args) { try
- { Socket s = new Socket("127.0.0.1", 9996); BufferedReader r = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter w = new PrintWriter(s.getOutputStream(), true); BufferedReader con = new BufferedReader(new InputStreamReader(System.in)); String line; do { line = r.readLine(); if ( line != null ) System.out.println(line); line = con.readLine(); w.println(line); } while ( !line.trim().equals("bye") ); } catch (Exception err) { System.err.println(err); } } }
- Q3) Write a program to display the server's date and time details at the client end.
- dateserver.java
- import java.io.*; import java.net.*; import java.util.*; public class dateserver{ public static void main(String args[]) throws IOException{ ServerSocket listner = new ServerSocket(9090); try { while(true){ Socket socket=listner.accept(); try{ PrintWriter out = new PrintWriter(socket.getOutputStream(),true); out.println(new Date().toString()); } finally{ socket.close(); }}} finally{ listner.close(); }}}
- dateclient.java import java.io.*; import java.net.Socket;
- public class dateclient { public static void main(String[] args) throws IOException { Socket s = new Socket("127.0.0.1",9090); BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); String answer = input.readLine(); System.out.println("The date and time details are"+answer); System.exit(0); } }
- Q4) implement a simple message transfer from client to server process using TCP/IP.
- Server.java
- import java.io.*; import java.net.*; 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"); while(true)
- { 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); String returnMessage; try { int numberInIntFormat = Integer.parseInt(number); int returnValue = numberInIntFormat*2; returnMessage = String.valueOf(returnValue) + "\n"; } catch(NumberFormatException e) { returnMessage = "Please send a proper number\n"; } 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.java
- import java.io.*; import java.net.*; 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); 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); 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 { try { socket.close(); } catch(Exception e) { e.printStackTrace(); } } } }
- Q5) Write a Java Program to get the client address at the server site.
- ServerAddr.java
- import java.io.*; import java.net.*; public class ServerAddr { public static void main(String args[]) throws IOException { try { ServerSocket ss=new ServerSocket(6666); System.out.println("Waiting for client----"); Socket s =ss.accept(); System.out.println("Connected to client----"); DataInputStream in = new DataInputStream(s.getInputStream()); String line= null; line =in.readUTF(); System.out.println("Client's IP address: "+line); } catch(Exception e) { e.printStackTrace(); }}}
- ClientAddr.java
- import java.io.*; import java.net.*; public class ClientAddr { public static void main(String args[]) throws IOException { try { InetAddress ipaddress = InetAddress.getByName(""); Socket s=new Socket(ipaddress,6666); System.out.println("COnnected to the server---"); DataOutputStream out=new DataOutputStream(s.getOutputStream()); String line=null; System.out.println("Sending my IP Address to server---");
- line=ipaddress.getHostAddress(); out.writeUTF(line); out.flush();} catch(Exception e) { e.printStackTrace(); }}}
- 6. Implement a chat server and client in java using TCP sockets.
- Client.java
- 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 } } } }
- Server.java
- import java.io.*; 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(); } } }
- 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.
- Client import java.io.*; import java.io.net.*; public class Client { private final String FILENAME = null; Connect c = new Connect(); Socket socket; BufferedReader read; PrintWriter output;
- public void startClient() throws UnknownHostException, IOException{ //Create socket connection socket = new Socket(c.gethostName(), c.getPort());
- //create printwriter for sending login to server output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
- //prompt for user name String username = JOptionPane.showInputDialog(null, "Enter User Name:");
- //send user name to server output.println(username);
- //prompt for password String password = JOptionPane.showInputDialog(null, "Enter Password");
- //send password to server output.println(password);
- output.flush();
- //create Buffered reader for reading response from server read = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- //read response from server String response = read.readLine(); System.out.println("This is the response: " + response);
- //display response JOptionPane.showMessageDialog(null, response); }
- public void fileInfo(){
- }
- public static void main(String args[]){ Client client = new Client(); try { client.startClient(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
- Server
- import java.io.*; import java.io.net.*; public class Server { private int currentTot; ServerSocket serversocket; Socket client; int bytesRead; Connect c = new Connect(); BufferedReader input; PrintWriter output;
- public void start() throws IOException{ System.out.println("Connection Starting on port:" + c.getPort()); //make connection to client on port specified serversocket = new ServerSocket(c.getPort());
- //accept connection from client client = serversocket.accept();
- System.out.println("Waiting for connection from client");
- try { logInfo(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
- public void logInfo() throws Exception{ //open buffered reader for reading data from client input = new BufferedReader(new InputStreamReader(client.getInputStream()));
- String username = input.readLine(); System.out.println("SERVER SIDE" + username); String password = input.readLine(); System.out.println("SERVER SIDE" + password);
- //open printwriter for writing data to client output = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
- if(username.equals(c.getUsername()) &&password.equals(c.getPassword())){ output.println("Welcome, " + username); }else{ output.println("Login Failed"); }
- } public static void main(String[] args){ Server server = new Server(); try { server.start(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
- 8. Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
- Client: import java.io.*; import java.net.*; import java.util.*; class Clientarp { public static void main(String args[]) { try { BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
- Socket clsct=new Socket("127.0.0.1",139); DataInputStream din=new DataInputStream(clsct.getInputStream()); DataOutputStream dout=new DataOutputStream(clsct.getOutputStream()); System.out.println("Enter the Logical address(IP):"); String str1=in.readLine(); dout.writeBytes(str1+'\n'); String str=din.readLine(); System.out.println("The Physical Address is: "+str); clsct.close(); } catch (Exception e) { System.out.println(e); } } }
- Server: import java.io.*; import java.net.*; import java.util.*; class Serverarp { public static void main(String args[]) { try { ServerSocket obj=new ServerSocket(139); Socket obj1=obj.accept(); while(true) { DataInputStream din=new DataInputStream(obj1.getInputStream()); DataOutputStream dout=new DataOutputStream(obj1.getOutputStream()); String str=din.readLine();
- String ip[]={"165.165.80.80","165.165.79.1"}; String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"}; for(int i=0;i<ip.length;i++) { if(str.equals(ip[i])) { dout.writeBytes(mac[i]+'\n'); break; } } obj.close(); } } catch(Exception e) { System.out.println(e); } } }
- Output: E:\networks>java Serverarp E:\networks>java Clientarp Enter the Logical address(IP): 165.165.80.80 The Physical Address is: 6A:08:AA:C2
- 9. 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.*; import java.util.*; class Clientrarp { public static void main(String args[]) { try { BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); Socket clsct=new Socket("127.0.0.1",139);
- DataInputStream din=new DataInputStream(clsct.getInputStream()); DataOutputStream dout=new DataOutputStream(clsct.getOutputStream()); System.out.println("Enter the Physical Addres (MAC):");
- String str1=in.readLine(); dout.writeBytes(str1+'\n'); String str=din.readLine(); System.out.println("The Logical address is(IP): "+str); clsct.close(); } catch (Exception e) { System.out.println(e); } } }
- Server:
- import java.io.*; import java.net.*; import java.util.*; class Serverrarp { public static void main(String args[]) { try { ServerSocket obj=new ServerSocket(139); Socket obj1=obj.accept(); while(true) { DataInputStream din=new DataInputStream(obj1.getInputStream()); DataOutputStream dout=new DataOutputStream(obj1.getOutputStream()); String str=din.readLine(); String ip[]={"165.165.80.80","165.165.79.1"}; String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"}; for(int i=0;i<mac.length;i++) { if(str.equals(mac[i])) { dout.writeBytes(ip[i]+'\n'); break; } } obj.close(); } } catch(Exception e) { System.out.println(e); } } }
- Output:
- E:\networks>java Serverrarp E:\networks>java Clientrarp Enter the Physical Address (MAC): 6A:08:AA:C2 The Logical address(IP): 165.165.80.80
- 11. Develop a TCP client/server application for transferring a text file from client to server?
- TCPClient
- import java.io.*; import java.net.*;
- class TCPClient { public static void main(String args[]) throws Exception { String sentence; String modifiedSentence; BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); Socket clientSocket = new Socket("127.0.0.1", 6789); DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = inFromUser.readLine(); outToServer.writeBytes(sentence + "\n"); modifiedSentence = inFromServer.readLine(); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); } }
- TCPServer
- import java.io.*; import java.net.*;
- class TCPServer { public static void main(String args[]) throws Exception { int firsttime = 1; while (true) {
- String clientSentence; String capitalizedSentence=""; ServerSocket welcomeSocket = new ServerSocket(3248); Socket connectionSocket = welcomeSocket.accept(); BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); clientSentence = inFromClient.readLine(); //System.out.println(clientSentence); if (clientSentence.equals("set")) { outToClient.writeBytes("connection is "); System.out.println("running here"); //welcomeSocket.close(); //outToClient.writeBytes(capitalizedSentence); } capitalizedSentence = clientSentence.toUpperCase() + "\n"; //if(!clientSentence.equals("quit")) outToClient.writeBytes(capitalizedSentence+"enter the message or command: "); System.out.println("passed"); //outToClient.writeBytes("enter the message or command: "); welcomeSocket.close(); System.out.println("connection terminated"); } } }
- 12. Find the class of the IP address using TCP/IP.
- Client:
- import java.io.*; import java.net.*; import java.util.*; class Clientip { public static void main(String args[]) { try {
- BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); Socket clsct=new Socket("127.0.0.1",139); DataInputStream din=new DataInputStream(clsct.getInputStream()); DataOutputStream dout=new DataOutputStream(clsct.getOutputStream());
- System.out.println("Enter the ip address"); String str=in.readLine(); dout.writeBytes(str+'\n'); String str1=din.readLine(); System.out.println("The IP is of: "+str1); clsct.close(); } catch (Exception e) { System.out.println(e); } } }
- Server:
- import java.io.*; import java.net.*; import java.util.*; class Serverip { public static void main(String args[]) { try { ServerSocket obj=new ServerSocket(139); while(true) { int a[]=new int[4]; Socket obj1=obj.accept(); DataInputStream din=new DataInputStream(obj1.getInputStream()); DataOutputStream dout=new DataOutputStream(obj1.getOutputStream()); String str=din.readLine(); char c[]=new char[4]; str.getChars(0,3,c,1); for(int i=1;i<=3;i++) { a[i]=(int)c[i]; a[i]-=48; } String s="Class A"; String s1="Class B"; String s2="Class C"; String s3="Class D"; String s4="Class E"; if(a[1]==0) dout.writeBytes(s+'\n');
- else if(a[1]==1) { if(a[2]==0||a[2]==1||a[2]==2) { if(a[2]==2&&a[3]>7) dout.writeBytes(s1+'\n'); else dout.writeBytes(s+'\n'); } else if(a[2]>2) { if(a[2]==9&&a[3]>1) dout.writeBytes(s2+'\n'); else dout.writeBytes(s1+'\n'); } } else if(a[1]==2) { if(a[2]==0||a[2]==1||a[2]==2) { if(a[2]==2&&a[3]>3) dout.writeBytes(s3+'\n'); else dout.writeBytes(s2+'\n'); } else if(a[2]==3) dout.writeBytes(s3+'\n'); else if(a[2]==4||a[2]==5) { if(a[2]==5&&a[3]<=5) dout.writeBytes(s4+'\n'); else dout.writeBytes(s4+'\n'); } } System.out.println(str); } } catch(Exception e) { System.out.println(e); } } } Output: Client Enter the ip address 165.165.1.34 Server 165.165.1.34 Client
- The IP is of: Class B
- Thank You!!
- // udp cycle sheet
- Name : Nitesh Kumar Agrawal Reg No. : 14BIT0198 Faculty : Prof. Navaneethan C Subject : Computer Networks Lab (L 25+26+27+28 )
- Cyclesheet – 3 (UDP)
- 1. Implement echo server and client in java using UDP sockets
- Server
- import java.net.*;
- import java.util.*;
- public class ServerEcho
- {
- public static void main( String args[]) throws Exception
- {
- DatagramSocket dsock = new DatagramSocket(7);
- byte arr1[] = new byte[150];
- DatagramPacket dpack = new DatagramPacket(arr1, arr1.length );
- while(true)
- {
- dsock.receive(dpack);
- byte arr2[] = dpack.getData();
- int packSize = dpack.getLength();
- String s2 = new String(arr2, 0, packSize);
- System.out.println( new Date( ) + " " + dpack.getAddress( ) + " : " + dpack.getPort( ) + " "+ s2);
- dsock.send(dpack);
- }
- }
- }
- Client
- import java.net.*;
- import java.util.*;
- public class ClientEcho
- {
- public static void main( String args[] ) throws Exception
- {
- InetAddress add = InetAddress.getByName("snrao");
- DatagramSocket dsock = new DatagramSocket( );
- String message1 = "This is client calling";
- byte arr[] = message1.getBytes( );
- DatagramPacket dpack = new DatagramPacket(arr, arr.length, add, 7);
- dsock.send(dpack);
- Date sendTime = new Date();
- dsock.receive(dpack);
- String message2 = new String(dpack.getData( ));
- Date receiveTime = new Date( );
- System.out.println((receiveTime.getTime( ) - sendTime.getTime( )) + " milliseconds echo time for " + message2);
- }
- }
- 2. Write a program to implement a text based message transfer from client to server process using UDP.
- UDP Server
- public class UDPServer { public static void main(String args[]) { int server_port = 1111; System.out.println("UDP Server Listening in " + server_port); try { // DatagramSocket created and listening in Port 1111 DatagramSocket socket = new DatagramSocket(server_port); byte[] msgBuffer = new byte[1024];
- // DatagramPacket for receiving the incoming data from UDP Client DatagramPacket packet = new DatagramPacket(msgBuffer, msgBuffer.length);
- while (true) { socket.receive(packet); String message = new String(msgBuffer, 0, packet.getLength()); System.out.println("UDPServer: Message received = " + message); packet.setLength(msgBuffer.length); } } catch (Exception e) { e.printStackTrace(); System.out.println("Error in getting the Data from UDP Client"); } } } UDP Client
- public class UDPClient { public static void main(String args[]) { try { String server_address = "localhost"; int server_port = 1111; String message = "Techdive.in";
- InetAddress address = InetAddress.getByName(server_address);
- // Create Datagram packet with the UDP Server Ipaddress/ Port and Message to be sent DatagramPacket packet = new DatagramPacket(message.getBytes(), message.getBytes().length, address, server_port);
- // Create DatagramSocket socket and send the Message DatagramSocket socket = new DatagramSocket(); socket.send(packet); System.out.println("UDPClient: Sent data to Server ; Message = " + message); socket.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("Error in sending the Data to UDP Server"); } } }
- 3. Implement a chat server and client in java using UDP sockets.
- UDPServer
- import java.io.*; import java.net.*;
- class UDPServer { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); String sentence = new String( receivePacket.getData()); System.out.println("RECEIVED: " + sentence); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); String capitalizedSentence = sentence.toUpperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); serverSocket.send(sendPacket); } } }
- UDPClient
- import java.io.*; import java.net.*;
- class UDPClient { 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]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); } }
- 4. Implement a DNS server and client in java using UDP sockets
- UDPClient
- import java .io.*;
- import java.net.*;
- classUDPclient
- {
- public static DatagramSocket ds;
- public static intclientport=789,serverport=790;
- public static void main(String args[])throws Exception
- {
- byte buffer[]=new byte[1024];
- ds=new DatagramSocket(serverport);
- BufferedReader dis=new BufferedReader(new InputStreamReader(System.in));
- System.out.println(“server waiting”);
- InetAddressia=InetAddress.getLocalHost();
- while(true)
- {
- System.out.println(“Client:”);
- String str=dis.readLine();
- if(str.equals(“end”))
- break;
- buffer=str.getBytes();
- ds.send(new DatagramPacket(buffer,str.length(),ia,clientport));
- DatagramPacket p=new DatagramPacket(buffer,buffer.length);
- ds.receive(p);
- String psx=new String(p.getData(),0,p.getLength());
- System.out.println(“Server:” + psx);
- }
- }
- }
- UDP server import java.io.*;
- import java.net.*;
- classUDPserver
- {
- public static DatagramSocket ds;
- public static byte buffer[]=new byte[1024];
- public static intclientport=789,serverport=790;
- public static void main(String args[])throws Exception
- {
- ds=new DatagramSocket(clientport);
- System.out.println(“press ctrl+c to quit the program”);
- BufferedReader dis=new BufferedReader(new InputStreamReader(System.in));
- InetAddressia=InetAddress.getLocalHost();
- while(true)
- {
- DatagramPacket p=new DatagramPacket(buffer,buffer.length);
- ds.receive(p);
- String psx=new String(p.getData(),0,p.getLength());
- System.out.println(“Client:” + psx);
- InetAddressib=InetAddress.getByName(psx);
- System.out.println(“Server output:”+ib);
- String str=dis.readLine();
- if(str.equals(“end”))
- break;
- buffer=str.getBytes();
- ds.send(new DatagramPacket(buffer,str.length(),ia,serverport));
- }
- }
- }
- 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
- UDPClient
- import java.io.*; import java.net.*; import java.util.*; class Clientrarp12 { 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 Physical address (MAC):"); 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 Logical Address is(IP): "+s.trim()); client.close(); } catch(Exception e) { System.out.println(e); } } }
- UDPServer
- import java.io.*; import java.net.*; import java.util.*; class Serverrarp12 { 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(mac[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); } } }
- OUTPUT
- E:\networks>java Serverrarp E:\networks>java Clientrarp Enter the Physical Address (MAC): 6A:08:AA:C2 The Logical address(IP): 165.165.80.80
- 6. Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
- UDPClient
- 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); } } }
- UDPServer
- 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); } } }
- Output:
- E:\networks>java Serverarp12 E:\networks>java Clientarp12 Enter the logical address (IP): 165.165.79.1 The Physical Address is(MAC): 8A:BC:E3:FA
- 7. Implement Client - Server communication to access Date using UDP in Java.
- UDPServer
- import java.net.*; import java.io.*; import java.util.*;
- public class Server {
- public static void main(String[] args) throws Exception{
- DatagramSocket ss=new DatagramSocket(1234);
- while(true){
- System.out.println("Server is up....");
- byte[] rd=new byte[100]; byte[] sd=new byte[100];
- DatagramPacket rp=new DatagramPacket(rd,rd.length);
- ss.receive(rp);
- InetAddress ip= rp.getAddress();
- int port=rp.getPort();
- Date d=new Date(); // getting system time
- String time= d + ""; // converting it to String
- sd=time.getBytes(); // converting that String to byte
- DatagramPacket sp=new DatagramPacket(sd,sd.length,ip,port);
- ss.send(sp);
- rp=null;
- System.out.println("Done !! ");
- }
- }
- }
- UDPClient
- import java.net.*; import java.io.*; public class Clientnew { public static void main(String[] args) throws Exception{ System.out.println("Server Time >>>>"); DatagramSocket cs=new DatagramSocket(); InetAddress ip=InetAddress.getByName("localhost"); byte[] rd=new byte[100]; byte[] sd=new byte[100]; DatagramPacket sp=new DatagramPacket(sd,sd.length,ip,1234); DatagramPacket rp=new DatagramPacket(rd,rd.length); cs.send(sp); cs.receive(rp); String time=new String(rp.getData()); System.out.println(time); cs.close(); } }
- Thank You!!
Add Comment
Please, Sign In to add comment