Guest User

Untitled

a guest
Mar 20th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.74 KB | None | 0 0
  1.  
  2. CYCLESHEET 2
  3. 14BIT0198 Nitesh Kumar Agrawal L-25+26+27+28
  4. 1. Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
  5. 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){} } }}
  6. 1 b). Find out which of the first 1024 ports to be hosting TCP Servers on a specified host. (Local Host can be default).
  7. 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){} } } }
  8. 1 c). FInd out which of the ports are above 1024.
  9. 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){} } } }
  10. Q2. Implement Echoserver and client in java using TCP sockets.
  11. EchoServer.java
  12. 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; }
  13. EchoClient.java
  14. import java.io.*; import java.net.*; public class EchoClient { public static void main(String[] args) { try
  15. { 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); } } }
  16. Q3) Write a program to display the server's date and time details at the client end.
  17. dateserver.java
  18. 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(); }}}
  19. dateclient.java import java.io.*; import java.net.Socket;
  20. 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); } }
  21.  
  22. Q4) implement a simple message transfer from client to server process using TCP/IP.
  23. Server.java
  24. 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)
  25. { 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();
  26. } catch(Exception e){} } } }
  27. Client.java
  28. 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);
  29. 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(); } } } }
  30.  
  31. Q5) Write a Java Program to get the client address at the server site.
  32. ServerAddr.java
  33. 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(); }}}
  34. ClientAddr.java
  35. 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---");
  36. line=ipaddress.getHostAddress(); out.writeUTF(line); out.flush();} catch(Exception e) { e.printStackTrace(); }}}
  37. 6. Implement a chat server and client in java using TCP sockets.
  38. Client.java
  39. 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);
  40. // receiving from server ( receiveRead object) InputStream istream = sock.getInputStream(); BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  41. System.out.println("Start the chitchat, type and press Enter key");
  42. 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 } } } }
  43. Server.java
  44. 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);
  45. // receiving from server ( receiveRead object) InputStream istream = sock.getInputStream(); BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  46. String receiveMessage, sendMessage; while(true) { if((receiveMessage = receiveRead.readLine()) != null) { System.out.println(receiveMessage); } sendMessage = keyRead.readLine(); pwrite.println(sendMessage); pwrite.flush(); } } }
  47. 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.
  48. 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;
  49. public void startClient() throws UnknownHostException, IOException{ //Create socket connection socket = new Socket(c.gethostName(), c.getPort());
  50. //create printwriter for sending login to server output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
  51. //prompt for user name String username = JOptionPane.showInputDialog(null, "Enter User Name:");
  52. //send user name to server output.println(username);
  53. //prompt for password String password = JOptionPane.showInputDialog(null, "Enter Password");
  54. //send password to server output.println(password);
  55. output.flush();
  56. //create Buffered reader for reading response from server read = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  57. //read response from server String response = read.readLine(); System.out.println("This is the response: " + response);
  58. //display response JOptionPane.showMessageDialog(null, response); }
  59. public void fileInfo(){
  60. }
  61. 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(); } } }
  62. Server
  63. 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;
  64. 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());
  65. //accept connection from client client = serversocket.accept();
  66. System.out.println("Waiting for connection from client");
  67. try { logInfo(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
  68. public void logInfo() throws Exception{ //open buffered reader for reading data from client input = new BufferedReader(new InputStreamReader(client.getInputStream()));
  69. String username = input.readLine(); System.out.println("SERVER SIDE" + username); String password = input.readLine(); System.out.println("SERVER SIDE" + password);
  70. //open printwriter for writing data to client output = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
  71. if(username.equals(c.getUsername()) &&password.equals(c.getPassword())){ output.println("Welcome, " + username); }else{ output.println("Login Failed"); }
  72. } public static void main(String[] args){ Server server = new Server(); try { server.start(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
  73. 8. Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
  74. 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));
  75. 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); } } }
  76. 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();
  77. 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); } } }
  78. 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
  79. 9. Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
  80. 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);
  81. DataInputStream din=new DataInputStream(clsct.getInputStream()); DataOutputStream dout=new DataOutputStream(clsct.getOutputStream()); System.out.println("Enter the Physical Addres (MAC):");
  82. 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); } } }
  83. Server:
  84. 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); } } }
  85. Output:
  86. 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
  87. 11. Develop a TCP client/server application for transferring a text file from client to server?
  88. TCPClient
  89. import java.io.*; import java.net.*;
  90. 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(); } }
  91. TCPServer
  92. import java.io.*; import java.net.*;
  93. class TCPServer { public static void main(String args[]) throws Exception { int firsttime = 1; while (true) {
  94. 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"); } } }
  95. 12. Find the class of the IP address using TCP/IP.
  96. Client:
  97. import java.io.*; import java.net.*; import java.util.*; class Clientip { public static void main(String args[]) { try {
  98. 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());
  99. 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); } } }
  100. Server:
  101. 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');
  102. 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
  103. The IP is of: Class B
  104. Thank You!!
  105.  
  106.  
  107.  
  108. // udp cycle sheet
  109. Name : Nitesh Kumar Agrawal Reg No. : 14BIT0198 Faculty : Prof. Navaneethan C Subject : Computer Networks Lab (L 25+26+27+28 )
  110. Cyclesheet – 3 (UDP)
  111. 1. Implement echo server and client in java using UDP sockets
  112. Server
  113. import java.net.*;
  114. import java.util.*;
  115.  
  116. public class ServerEcho
  117. {
  118. public static void main( String args[]) throws Exception
  119. {
  120. DatagramSocket dsock = new DatagramSocket(7);
  121. byte arr1[] = new byte[150];
  122. DatagramPacket dpack = new DatagramPacket(arr1, arr1.length );
  123.  
  124. while(true)
  125. {
  126. dsock.receive(dpack);
  127.  
  128. byte arr2[] = dpack.getData();
  129. int packSize = dpack.getLength();
  130. String s2 = new String(arr2, 0, packSize);
  131. System.out.println( new Date( ) + " " + dpack.getAddress( ) + " : " + dpack.getPort( ) + " "+ s2);
  132. dsock.send(dpack);
  133. }
  134. }
  135. }
  136. Client
  137. import java.net.*;
  138. import java.util.*;
  139.  
  140. public class ClientEcho
  141. {
  142. public static void main( String args[] ) throws Exception
  143. {
  144. InetAddress add = InetAddress.getByName("snrao");
  145.  
  146. DatagramSocket dsock = new DatagramSocket( );
  147. String message1 = "This is client calling";
  148. byte arr[] = message1.getBytes( );
  149. DatagramPacket dpack = new DatagramPacket(arr, arr.length, add, 7);
  150. dsock.send(dpack);
  151. Date sendTime = new Date();
  152.  
  153. dsock.receive(dpack);
  154. String message2 = new String(dpack.getData( ));
  155. Date receiveTime = new Date( );
  156. System.out.println((receiveTime.getTime( ) - sendTime.getTime( )) + " milliseconds echo time for " + message2);
  157. }
  158. }
  159. 2. Write a program to implement a text based message transfer from client to server process using UDP.
  160. UDP Server
  161. 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];
  162. // DatagramPacket for receiving the incoming data from UDP Client DatagramPacket packet = new DatagramPacket(msgBuffer, msgBuffer.length);
  163. 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
  164. public class UDPClient { public static void main(String args[]) { try { String server_address = "localhost"; int server_port = 1111; String message = "Techdive.in";
  165. InetAddress address = InetAddress.getByName(server_address);
  166. // 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);
  167. // 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"); } } }
  168.  
  169. 3. Implement a chat server and client in java using UDP sockets.
  170. UDPServer
  171. import java.io.*; import java.net.*;
  172. 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); } } }
  173. UDPClient
  174. import java.io.*; import java.net.*;
  175. 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(); } }
  176.  
  177. 4. Implement a DNS server and client in java using UDP sockets
  178. UDPClient
  179. import java .io.*;
  180. import java.net.*;
  181. classUDPclient
  182. {
  183. public static DatagramSocket ds;
  184. public static intclientport=789,serverport=790;
  185. public static void main(String args[])throws Exception
  186. {
  187. byte buffer[]=new byte[1024];
  188. ds=new DatagramSocket(serverport);
  189. BufferedReader dis=new BufferedReader(new InputStreamReader(System.in));
  190. System.out.println(“server waiting”);
  191. InetAddressia=InetAddress.getLocalHost();
  192. while(true)
  193. {
  194. System.out.println(“Client:”);
  195. String str=dis.readLine();
  196. if(str.equals(“end”))
  197. break;
  198. buffer=str.getBytes();
  199. ds.send(new DatagramPacket(buffer,str.length(),ia,clientport));
  200. DatagramPacket p=new DatagramPacket(buffer,buffer.length);
  201. ds.receive(p);
  202. String psx=new String(p.getData(),0,p.getLength());
  203. System.out.println(“Server:” + psx);
  204. }
  205. }
  206. }
  207. UDP server import java.io.*;
  208. import java.net.*;
  209. classUDPserver
  210. {
  211. public static DatagramSocket ds;
  212. public static byte buffer[]=new byte[1024];
  213. public static intclientport=789,serverport=790;
  214. public static void main(String args[])throws Exception
  215. {
  216. ds=new DatagramSocket(clientport);
  217. System.out.println(“press ctrl+c to quit the program”);
  218. BufferedReader dis=new BufferedReader(new InputStreamReader(System.in));
  219. InetAddressia=InetAddress.getLocalHost();
  220. while(true)
  221. {
  222. DatagramPacket p=new DatagramPacket(buffer,buffer.length);
  223. ds.receive(p);
  224. String psx=new String(p.getData(),0,p.getLength());
  225. System.out.println(“Client:” + psx);
  226. InetAddressib=InetAddress.getByName(psx);
  227. System.out.println(“Server output:”+ib);
  228. String str=dis.readLine();
  229. if(str.equals(“end”))
  230. break;
  231. buffer=str.getBytes();
  232. ds.send(new DatagramPacket(buffer,str.length(),ia,serverport));
  233. }
  234. }
  235. }
  236. 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
  237. UDPClient
  238. 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); } } }
  239. UDPServer
  240. 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];
  241. 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;
  242. } } catch(Exception e) { System.out.println(e); } } }
  243. OUTPUT
  244. 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
  245. 6. Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
  246. UDPClient
  247. 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");
  248. 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); } } }
  249. UDPServer
  250. 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) {
  251. 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;
  252. } } catch(Exception e) { System.out.println(e); } } }
  253. Output:
  254. 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
  255. 7. Implement Client - Server communication to access Date using UDP in Java.
  256. UDPServer
  257. import java.net.*; import java.io.*; import java.util.*;
  258. public class Server {
  259. public static void main(String[] args) throws Exception{
  260. DatagramSocket ss=new DatagramSocket(1234);
  261. while(true){
  262. System.out.println("Server is up....");
  263. byte[] rd=new byte[100]; byte[] sd=new byte[100];
  264. DatagramPacket rp=new DatagramPacket(rd,rd.length);
  265. ss.receive(rp);
  266. InetAddress ip= rp.getAddress();
  267. int port=rp.getPort();
  268. Date d=new Date(); // getting system time
  269. String time= d + ""; // converting it to String
  270. sd=time.getBytes(); // converting that String to byte
  271. DatagramPacket sp=new DatagramPacket(sd,sd.length,ip,port);
  272. ss.send(sp);
  273. rp=null;
  274. System.out.println("Done !! ");
  275. }
  276. }
  277. }
  278. UDPClient
  279. 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(); } }
  280.  
  281. Thank You!!
Add Comment
Please, Sign In to add comment