Advertisement
letscheat1234

Networks Master All CS

Nov 9th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.42 KB | None | 0 0
  1. Networks CS1 (2-7)
  2.  
  3. • Write a Java program to run the basic networking commands.
  4.  
  5. • Write a program to display the name of the computer and its IP address that you are currently working on.
  6.  
  7. • Write a program to print the IP address of “www.google.com” all IP addresses of “www.microsoft.com”.
  8.  
  9. • Write a program to print all Network Interfaces of “localhost”.
  10.  
  11. • Implement the simple version of “nslookup” utility.
  12.  
  13. • Write a program to download the contents associated with a HTTP URL and save it in a file.
  14.  
  15.  
  16. 2) Write a Java program to run the basic networking commands
  17.  
  18. import java.net.*;
  19. import java.util.*;
  20. import java.io.*;
  21. public class command
  22. {
  23. public static void main(String args[])
  24. throws Exception
  25. {
  26. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  27. System.out.println("enter command:");
  28. String s=br.readLine();
  29. Process p=Runtime.getRuntime().exec(s);
  30. p.waitFor();
  31. BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
  32. String line=reader.readLine();
  33. while(line!=null)
  34. {
  35. System.out.println(line);
  36. line=reader.readLine();0
  37. }
  38. System.out.println("done!");
  39.  
  40. }
  41. }
  42.  
  43. 3) Write a program to display the name of the computer and its IP address that you are currently working on.
  44.  
  45. import java.net.*;
  46. import java.io.*;
  47. public class cm
  48. {
  49. public static void main(String args[])
  50. {
  51. try
  52. {
  53. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  54. System.out.println("Enter the url which you want to find ip address and host name");
  55. String str=br.readLine();
  56. InetAddress add=InetAddress.getByName(str);
  57. System.out.println("Local Host Information");
  58. System.out.println("Host Name:"+add.getHostName());
  59. System.out.println("IP address:"+add.getHostAddress());
  60. }
  61. catch(Exception e)
  62. {
  63. System.out.println(e);
  64. }
  65. }
  66.  
  67.  
  68. 4) Write a program to print the IP address of “www.google.com” all IP addresses of “www.microsoft.com”.
  69. import java.net.*;
  70. import java.io.*;
  71. public class ip
  72. {
  73. public static void main(String args[])
  74. throws UnknownHostException {
  75. System.out.println(InetAddress.getByName("www.google.com"));
  76. InetAddress[] inetAddresses=InetAddress.getAllByName("www.microsoft.com");
  77. for(InetAddress ipAddress:inetAddresses)
  78. {
  79. System.out.println(ipAddress);
  80. }
  81. }
  82. }
  83.  
  84. 5) Write a program to print all Network Interfaces of “localhost”.
  85.  
  86. import java.net.*;
  87. import java.util.*;
  88. import java.io.*;
  89. public class ni
  90. {
  91. public static void main(String args[]) throws UnknownHostException,SocketException
  92. {
  93.  
  94. Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
  95. if(interfaces==null)
  96. {
  97. System.out.println("No network interfaces found");
  98. }
  99. else
  100. {
  101. for(NetworkInterface netIf:Collections.list(interfaces))
  102. {
  103. System.out.println("Display Name:" + netIf.getDisplayName());
  104. System.out.println("Name : " + netIf.getName());
  105. System.out.println();
  106. }
  107. }
  108. }
  109. }
  110.  
  111.  
  112. 6) Implement the simple version of “nslookup” utility.
  113.  
  114. import java.net.*;
  115. import java.io.*;
  116. import java.util.*;
  117. public class nslook
  118. {
  119. public static void main(String args[]) throws Exception
  120. {
  121. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  122. System.out.println("Enter the hostname");
  123. String cmd=br.readLine();
  124. Process p=Runtime.getRuntime().exec("nslookup "+cmd);
  125. p.waitFor();
  126. BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
  127. String line=reader.readLine();
  128. while(line!=null)
  129. {
  130. System.out.println(line);
  131. line=reader.readLine();
  132. }
  133. System.out.println("Done");
  134. }
  135. }
  136.  
  137. 7) Write a program to download the contents associated with a HTTP URL and save it in a file.
  138.  
  139. import java.io.*;
  140. import java.net.*;
  141. public class GetJavaUrl
  142. {
  143. public static void main(String[] args)
  144. {
  145. URL u;
  146. InputStream is=null;
  147. DataInputStream dis;
  148. String s;
  149. try
  150. {
  151. u=new URL("ftp://10.30.2.53");
  152. is=u.openStream();
  153. dis = new DataInputStream(new BufferedInputStream(is));
  154. while((s=dis.readLine())!=null)
  155. {
  156. System.out.println(s);
  157. }
  158. }
  159. catch(MalformedURLException mue)
  160. {
  161. System.out.println("404: Error NOT FOUND");
  162. mue.printStackTrace();
  163. System.exit(1);
  164. }
  165. catch(IOException ioe)
  166. {
  167. System.out.println("404: Error NOT FOUND");
  168. ioe.printStackTrace();
  169. System.exit(1);
  170. }
  171. finally
  172. {
  173. try
  174. {
  175. is.close();
  176. }
  177. catch(IOException ioe)
  178. {
  179. }
  180. }
  181. }
  182.  
  183. }
  184.  
  185. ITE 304 Computer Networks Lab
  186.  
  187. Cycle sheet-2
  188.  
  189.  
  190.  
  191. 1. Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
  192.  
  193. 2. Implement echo server and client in java using TCP sockets.
  194.  
  195. 3. Implement date server and client in java using TCP sockets.
  196.  
  197. 4. Write a program to implement a simple message transfer from client to server process using TCP/IP.
  198.  
  199. 5. Develop a TCP client/server application for transferring a text file from client to server?
  200.  
  201. 6. Implement a chat server and client in java using TCP sockets.
  202.  
  203. 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.
  204.  
  205. 8. Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
  206.  
  207. 9. Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
  208.  
  209. 10. Implement Domain Name System (DNS) using TCP/IP
  210.  
  211. 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.
  212.  
  213. 12. Find the class of the IP address using TCP/IP.
  214.  
  215.  
  216. Solutions
  217.  
  218. Q1 Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
  219.  
  220. import java.net.Socket;
  221. import java.net.*;
  222.  
  223. public class A {
  224. public static void main(String[] args) throws Exception{
  225. try {
  226. for(int i=0;i<1024;i++)
  227. {
  228. Socket s=new Socket("localhost",i);
  229. System.out.println(i);
  230. }
  231. }
  232. catch(Exception e)
  233. {
  234. System.out.println(e);
  235. }
  236. }
  237. }
  238.  
  239. Q2 Implement echo server and client in java using TCP sockets.
  240.  
  241.  
  242. server
  243.  
  244. import java.io.*;
  245.  
  246. import java.net.*;
  247.  
  248.  
  249.  
  250. public class EchoServer
  251.  
  252. {
  253.  
  254. public static void main(String args[]) throws Exception
  255.  
  256. {
  257.  
  258. try
  259.  
  260. {
  261.  
  262. int Port;
  263.  
  264. BufferedReader Buf =new BufferedReader(new
  265.  
  266. InputStreamReader(System.in));
  267.  
  268. System.out.print(" Enter the Port Address : " );
  269.  
  270. Port=Integer.parseInt(Buf.readLine());
  271.  
  272. ServerSocket sok =new ServerSocket(Port);
  273.  
  274. System.out.println(" Server is Ready To Receive a Message. ");
  275.  
  276. System.out.println(" Waiting ..... ");
  277.  
  278. Socket so=sok.accept();
  279.  
  280. if(so.isConnected()==true)
  281.  
  282. System.out.println(" Client Socket is Connected Succecfully. ");
  283.  
  284. InputStream in=so.getInputStream();
  285.  
  286. OutputStream ou=so.getOutputStream();
  287.  
  288. PrintWriter pr=new PrintWriter(ou);
  289.  
  290. BufferedReader buf=new BufferedReader(new
  291.  
  292. InputStreamReader(in));
  293.  
  294. String str=buf.readLine();
  295.  
  296. System.out.println(" Message Received From Client : " + str);
  297.  
  298. System.out.println(" This Message is Forwarded To Client. ");
  299.  
  300. pr.println(str);
  301.  
  302. pr.flush();
  303.  
  304. }
  305.  
  306. catch(Exception e)
  307.  
  308. {
  309.  
  310. System.out.println(" Error : " + e.getMessage());
  311.  
  312. }
  313.  
  314. }
  315.  
  316. }
  317.  
  318.  
  319.  
  320. client
  321.  
  322. import java.io.*;
  323.  
  324. import java.net.*;
  325.  
  326.  
  327.  
  328. public class EchoClient
  329.  
  330. {
  331.  
  332. public static void main(String args[]) throws Exception
  333.  
  334. {
  335.  
  336. try {
  337.  
  338. int Port;
  339.  
  340. BufferedReader Buf =new BufferedReader(new
  341.  
  342. InputStreamReader(System.in));
  343.  
  344. System.out.print(" Enter the Port Address : " );
  345.  
  346. Port=Integer.parseInt(Buf.readLine());
  347.  
  348. Socket sok=new Socket("localhost",Port);
  349.  
  350. if(sok.isConnected()==true)
  351.  
  352. System.out.println(" Server Socket is Connected Succecfully. ");
  353.  
  354. InputStream in=sok.getInputStream();
  355.  
  356. OutputStream ou=sok.getOutputStream();
  357.  
  358. PrintWriter pr=new PrintWriter(ou);
  359.  
  360. BufferedReader buf1=new BufferedReader(new
  361.  
  362. InputStreamReader(System.in));
  363.  
  364.  
  365. BufferedReader buf2=new BufferedReader(new
  366.  
  367. InputStreamReader(in));
  368.  
  369. String str1,str2;
  370.  
  371. System.out.print(" Enter the Message : ");
  372.  
  373. str1=buf1.readLine();
  374.  
  375. pr.println(str1);
  376.  
  377. pr.flush();
  378.  
  379. System.out.println(" Message Send Successfully. ");
  380.  
  381. str2=buf2.readLine();
  382.  
  383. System.out.println(" Message From Server : " + str2);
  384.  
  385. }
  386.  
  387. catch(Exception e)
  388.  
  389. {
  390.  
  391. System.out.println(" Error : " + e.getMessage());
  392.  
  393. }
  394.  
  395. }
  396.  
  397. }
  398. Q3 Implement date server and client in java using TCP sockets.
  399.  
  400. client
  401.  
  402. import java.io.*;
  403.  
  404. import java.net.*;
  405.  
  406.  
  407.  
  408. class DateClient
  409.  
  410. {
  411.  
  412. public static void main(String args[]) throws Exception
  413.  
  414. {
  415.  
  416. Socket soc=new Socket(InetAddress.getLocalHost(),5217);
  417.  
  418. BufferedReader in=new BufferedReader(new InputStreamReader( soc.getInputStream() ) );
  419.  
  420. System.out.println(in.readLine());
  421.  
  422. }
  423.  
  424. }
  425.  
  426.  
  427.  
  428. server
  429.  
  430. import java.net.*;
  431.  
  432. import java.io.*;
  433.  
  434. import java.util.*;
  435.  
  436.  
  437.  
  438. class DateServer
  439.  
  440. {
  441.  
  442. public static void main(String args[]) throws Exception
  443.  
  444. {
  445.  
  446. ServerSocket s=new ServerSocket(5217);
  447. while(true)
  448.  
  449. {
  450.  
  451. System.out.println("Waiting For Connection ...");
  452.  
  453. Socket soc=s.accept();
  454.  
  455. DataOutputStream out=new DataOutputStream(soc.getOutputStream());
  456.  
  457. out.writeBytes("Server Date" + (new Date()).toString() + "\n");
  458.  
  459. out.close();
  460.  
  461. soc.close();
  462.  
  463. }
  464.  
  465.  
  466.  
  467. }
  468.  
  469. }
  470.  
  471.  
  472. Q4 , Q6 Write a program to implement a simple message transfer from client to server process using TCP/IP.
  473. SERVER
  474.  
  475. import java.io.*;
  476. import java.io.BufferedReader;
  477. import java.io.InputStream;
  478. import java.io.InputStreamReader;
  479. import java.io.OutputStream;
  480. import java.io.PrintWriter;
  481. import java.net.*;
  482. public class GossipServer
  483. {
  484. public static void main(String[] args) throws Exception
  485. {
  486. ServerSocket sersock = new ServerSocket(3000);
  487. System.out.println("Server ready for chatting");
  488. Socket sock = sersock.accept( );
  489. // reading from keyboard (keyRead object)
  490. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  491. // sending to client (pwrite object)
  492. OutputStream ostream = sock.getOutputStream();
  493. PrintWriter pwrite = new PrintWriter(ostream, true);
  494.  
  495. // receiving from server ( receiveRead object)
  496. InputStream istream = sock.getInputStream();
  497. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  498.  
  499. String receiveMessage, sendMessage;
  500. while(true)
  501. {
  502. if((receiveMessage = receiveRead.readLine()) != null)
  503. {
  504. System.out.println(receiveMessage);
  505. }
  506. sendMessage = keyRead.readLine();
  507. pwrite.println(sendMessage);
  508. pwrite.flush();
  509. }
  510. }
  511. }
  512.  
  513.  
  514. CLINET
  515.  
  516. import java.io.*;
  517. import java.net.*;
  518. public class GossipClient
  519. {
  520. public static void main(String[] args) throws Exception
  521. {
  522. Socket sock = new Socket("127.0.0.1", 3000);
  523. // reading from keyboard (keyRead object)
  524. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  525. // sending to client (pwrite object)
  526. OutputStream ostream = sock.getOutputStream();
  527. PrintWriter pwrite = new PrintWriter(ostream, true);
  528.  
  529. // receiving from server ( receiveRead object)
  530. InputStream istream = sock.getInputStream();
  531. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  532.  
  533. System.out.println("Start the chitchat, type and press Enter key");
  534.  
  535. String receiveMessage, sendMessage;
  536. while(true)
  537. {
  538. sendMessage = keyRead.readLine(); // keyboard reading
  539. pwrite.println(sendMessage); // sending to server
  540. pwrite.flush(); // flush the data
  541. if((receiveMessage = receiveRead.readLine()) != null) //receive from server
  542. {
  543. System.out.println(receiveMessage); // displaying at DOS prompt
  544. }
  545. }
  546. }
  547. }
  548. 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.
  549.  
  550.  
  551. CLIENT
  552.  
  553. import java.io.*;
  554. import java.net.*;
  555. class TCPClientAuth {
  556.  
  557. public static void main(String argv[]) throws Exception
  558. {
  559. String username;
  560. String password;
  561. String auth;
  562.  
  563. BufferedReader inFromUser =
  564. new BufferedReader(new InputStreamReader(System.in));
  565.  
  566. Socket clientSocket = new Socket("localhost", 6789);
  567.  
  568. DataOutputStream outToServer =
  569. new DataOutputStream(clientSocket.getOutputStream());
  570.  
  571. BufferedReader inFromServer =
  572. new BufferedReader(new
  573. InputStreamReader(clientSocket.getInputStream()));
  574.  
  575. System.out.print("Username :");
  576. username = inFromUser.readLine();
  577.  
  578. System.out.print("Password :");
  579. password = inFromUser.readLine();
  580.  
  581.  
  582. outToServer.writeBytes(username + '\n' + password + '\n' );
  583.  
  584. auth = inFromServer.readLine();
  585.  
  586. System.out.println("FROM SERVER: " + auth);
  587.  
  588. clientSocket.close();
  589.  
  590. }
  591. }
  592.  
  593. SERVER
  594.  
  595.  
  596. import java.io.*;
  597. import java.net.*;
  598.  
  599. class TCPServerAuth {
  600.  
  601. public static void main(String argv[]) throws Exception
  602. {
  603. String username;
  604. String password;
  605. String auth;
  606.  
  607. ServerSocket welcomeSocket = new ServerSocket(6789);
  608.  
  609. while(true) {
  610.  
  611. Socket connectionSocket = welcomeSocket.accept();
  612.  
  613. BufferedReader inFromClient =
  614. new BufferedReader(new
  615. InputStreamReader(connectionSocket.getInputStream()));
  616.  
  617.  
  618.  
  619. DataOutputStream outToClient =
  620. new DataOutputStream(connectionSocket.getOutputStream());
  621.  
  622. username = inFromClient.readLine();
  623. password = inFromClient.readLine();
  624.  
  625.  
  626. if (username.equals("Admin")){
  627. if (password.equals("root")){
  628. auth = "Login Successful!";
  629. }else{
  630. auth = "Wrong Password";
  631. }
  632. }else{
  633. auth = "Wrong Username";
  634. }
  635.  
  636. outToClient.writeBytes(auth);
  637. connectionSocket.close();
  638. }
  639. }
  640. }
  641.  
  642. Q8.Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
  643.  
  644. CLIENT:
  645. import java.io.*;
  646. import java.util.*;
  647. import java.net.*;
  648.  
  649. public class q8client
  650. {
  651. public static void main(String[] args)
  652. {
  653. try
  654. {
  655. Socket s = new Socket("localhost",5555);
  656. BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
  657. DataOutputStream dout = new DataOutputStream(s.getOutputStream());
  658. DataInputStream din = new DataInputStream(s.getInputStream());
  659. System.out.println("Enter the logical address: ");
  660. String str = b.readLine();
  661. dout.writeBytes(str + "\n");
  662. String str1 = din.readLine();
  663. System.out.println("Physical Address of str: " + str1);
  664. s.close();
  665. }
  666. catch (Exception e)
  667. {
  668. }
  669. }}
  670.  
  671. SERVER:
  672.  
  673. import java.io.*;
  674. import java.util.*;
  675. import java.net.*;
  676.  
  677. public class q8server
  678. {
  679. public static void main(String[] args)
  680. {
  681. try
  682. {
  683. ServerSocket ss = new ServerSocket(5555);
  684. Socket s = ss.accept();
  685. BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
  686. DataOutputStream dout = new DataOutputStream(s.getOutputStream());
  687. DataInputStream din = new DataInputStream(s.getInputStream());
  688. String str = din.readLine();
  689. String logical[] = {"172.16.27.34","195.24.54.204"};
  690. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD"};
  691. for(int i=0;i<logical.length;i++)
  692. {
  693. if (str.equals(logical[i]))
  694. {
  695. dout.writeBytes(physical[i] + "\n");
  696. break;
  697. }
  698. }
  699. s.close();
  700. }
  701. catch (Exception e)
  702. {
  703. }
  704. }
  705. }
  706.  
  707.  
  708. OUTPUT:
  709.  
  710.  
  711. =====================================================
  712.  
  713.  
  714.  
  715.  
  716. Q9.Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
  717.  
  718. CLIENT:
  719. import java.io.*;
  720. import java.net.*;
  721. class TCPLogClient {
  722.  
  723. public static void main(String argv[]) throws Exception
  724. {
  725. String logicAdd;
  726. String phyAdd;
  727.  
  728. BufferedReader inFromUser =
  729. new BufferedReader(new InputStreamReader(System.in));
  730.  
  731. Socket clientSocket = new Socket("localhost", 6789);
  732.  
  733. DataOutputStream outToServer =
  734. new DataOutputStream(clientSocket.getOutputStream());
  735.  
  736. BufferedReader inFromServer =
  737. new BufferedReader(new
  738. InputStreamReader(clientSocket.getInputStream()));
  739.  
  740. System.out.println("Enter Physical address of host");
  741. phyAdd = inFromUser.readLine();
  742.  
  743. outToServer.writeBytes(phyAdd + '\n');
  744.  
  745. logicAdd = inFromServer.readLine();
  746.  
  747. System.out.println("FROM SERVER: Logical Address " + logicAdd);
  748.  
  749. clientSocket.close();
  750.  
  751. }
  752. }
  753.  
  754. SERVER:
  755. import java.io.*;
  756. import java.net.*;
  757.  
  758. class TCPLogServer {
  759.  
  760. public static void main(String argv[]) throws Exception
  761. {
  762. String phyAdd;
  763.  
  764.  
  765. ServerSocket welcomeSocket = new ServerSocket(6789);
  766.  
  767. while(true) {
  768.  
  769. Socket connectionSocket = welcomeSocket.accept();
  770.  
  771. BufferedReader inFromClient =
  772. new BufferedReader(new
  773. InputStreamReader(connectionSocket.getInputStream()));
  774.  
  775.  
  776. String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  777. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
  778.  
  779. DataOutputStream outToClient =
  780. new DataOutputStream(connectionSocket.getOutputStream());
  781.  
  782. phyAdd = inFromClient.readLine();
  783. for(int i = 0; i < physical.length; i++)
  784. {
  785. if (phyAdd.equals(physical[i]))
  786. {
  787. outToClient.writeBytes(logical[i] + "\n");
  788. connectionSocket.close();
  789. }
  790. }
  791.  
  792.  
  793. }
  794. }
  795. }
  796.  
  797. =======================================
  798.  
  799.  
  800. 10.Implement Domain Name System (DNS) using TCP/IP
  801.  
  802. SERVER:
  803. import java.io.*;
  804. import java.net.*;
  805. class TCPLoServer {
  806. public static void main(String argv[]) throws Exception
  807. {
  808. String D;
  809. ServerSocket welcomeSocket = new ServerSocket(6789);
  810. while(true) {
  811. Socket connectionSocket = welcomeSocket.accept();
  812. BufferedReader inFromClient =
  813. new BufferedReader(new
  814. InputStreamReader(connectionSocket.getInputStream()));
  815. String hostaddr[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  816. String DNS[] = {"www.google.com","www.facebook.com", "www.vit.ac.in"};
  817. DataOutputStream outToClient =
  818. new DataOutputStream(connectionSocket.getOutputStream());
  819. D = inFromClient.readLine();
  820. for(int i = 0; i < hostaddr.length; i++)
  821. {
  822. if (D.equals(hostaddr[i]))
  823. {
  824. outToClient.writeBytes(DNS[i] + "\n");
  825. connectionSocket.close();
  826. }
  827. }
  828.  
  829.  
  830. }
  831. }
  832. }
  833.  
  834.  
  835.  
  836. CLIENT:
  837. import java.io.*;
  838. import java.net.*;
  839. class TCPLoClient {
  840.  
  841. public static void main(String argv[]) throws Exception
  842. {
  843. String hostaddr;
  844. String DNS;
  845.  
  846. BufferedReader inFromUser =
  847. new BufferedReader(new InputStreamReader(System.in));
  848.  
  849. Socket clientSocket = new Socket("localhost", 6789);
  850.  
  851. DataOutputStream outToServer =
  852. new DataOutputStream(clientSocket.getOutputStream());
  853.  
  854. BufferedReader inFromServer =
  855. new BufferedReader(new
  856. InputStreamReader(clientSocket.getInputStream()));
  857.  
  858. System.out.println("Enter IP address of host");
  859. DNS = inFromUser.readLine();
  860.  
  861. outToServer.writeBytes(DNS + '\n');
  862.  
  863. hostaddr = inFromServer.readLine();
  864.  
  865. System.out.println("FROM SERVER: Logical Address " + hostaddr);
  866.  
  867. clientSocket.close();
  868.  
  869. }
  870. }
  871.  
  872.  
  873.  
  874. *************************************************
  875.  
  876. 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.
  877.  
  878. CLIENT:
  879. import java.io.*;
  880. import java.net.*;
  881. class client {
  882. public static void main(String argv[]) throws Exception
  883. {
  884. String sentence;
  885. String modifiedSentence;
  886. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  887. Socket clientSocket = new Socket("localhost", 2222);
  888. DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
  889. BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  890. System.out.println("Enter a number - ");
  891. sentence = inFromUser.readLine();
  892. outToServer.writeBytes(sentence + '\n');
  893. modifiedSentence = inFromServer.readLine();
  894. System.out.println ("Factorial: " + modifiedSentence );
  895. clientSocket.close();
  896. }
  897. }
  898. SREVER:
  899.  
  900. import java.io.*;
  901. import java.net.*;
  902. class serv {
  903. public static void main(String argv[]) throws Exception
  904. {
  905. String clientSentence;
  906. String capitalizedSentence;
  907. ServerSocket welcomeSocket = new ServerSocket(2222);
  908. Socket connectionSocket = welcomeSocket.accept();
  909. BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
  910. DataOutputStream outToClient = new DataOutputStream (connectionSocket.getOutputStream());
  911. clientSentence = inFromClient.readLine();
  912. int num = Integer.parseInt(clientSentence);
  913. int fact=1;
  914. for(int i=1;i<=num;i++)
  915. fact=fact*i;
  916. System.out.println("Factorial : "+fact);
  917. capitalizedSentence = String.valueOf(fact);
  918. //capitalizedSentence = clientSentence.toUpperCase() + '\n';
  919. outToClient.writeBytes(capitalizedSentence);
  920. }
  921. }
  922.  
  923. ******************************************************
  924.  
  925. Ques12.Find the class of the IP address using TCP/IP.
  926. import java.io.*;
  927. import java.net.*;
  928.  
  929. class TCPIpclassServer {
  930.  
  931. public static void main(String argv[]) throws Exception
  932. {
  933. String ip;
  934. int fbyte;
  935. String ipclass = "Invalid";
  936.  
  937.  
  938. ServerSocket welcomeSocket = new ServerSocket(6789);
  939.  
  940. while(true) {
  941.  
  942. Socket connectionSocket = welcomeSocket.accept();
  943.  
  944. BufferedReader inFromClient =
  945. new BufferedReader(new
  946. InputStreamReader(connectionSocket.getInputStream()));
  947.  
  948.  
  949. DataOutputStream outToClient =
  950. new DataOutputStream(connectionSocket.getOutputStream());
  951.  
  952. ip = inFromClient.readLine();
  953. int index;
  954. index = ip.indexOf(".");
  955. ip = ip.substring(0, index);
  956.  
  957.  
  958. fbyte = Integer.parseInt(ip);
  959. if (fbyte >= 0 && fbyte <= 127)
  960. ipclass = "Class A";
  961. else if (fbyte >= 128 && fbyte <= 191)
  962. ipclass = "Class B";
  963. else if (fbyte >= 192 && fbyte <= 223)
  964. ipclass = "Class C";
  965. else if (fbyte >= 224 && fbyte <= 239)
  966. ipclass = "Class D";
  967. else if (fbyte >= 240 && fbyte <= 255)
  968. ipclass = "Class E";
  969.  
  970. outToClient.writeBytes(ipclass + "\n");
  971. connectionSocket.close();
  972.  
  973. }
  974. }
  975. }
  976.  
  977. //client
  978.  
  979. import java.io.*;
  980. import java.net.*;
  981. class TCPIpclassClient {
  982.  
  983. public static void main(String argv[]) throws Exception
  984. {
  985. String ip;
  986. String ipclass;
  987.  
  988. BufferedReader inFromUser =
  989. new BufferedReader(new InputStreamReader(System.in));
  990.  
  991. Socket clientSocket = new Socket("localhost", 6789);
  992.  
  993. DataOutputStream outToServer =
  994. new DataOutputStream(clientSocket.getOutputStream());
  995.  
  996. BufferedReader inFromServer =
  997. new BufferedReader(new
  998. InputStreamReader(clientSocket.getInputStream()));
  999.  
  1000. System.out.println("Enter an IP address: ");
  1001. ip = inFromUser.readLine();
  1002.  
  1003. outToServer.writeBytes(ip + '\n');
  1004.  
  1005. ipclass = inFromServer.readLine();
  1006.  
  1007. System.out.println("FROM SERVER: Class for IP: "+ ip + " is : " + ipclass);
  1008.  
  1009. clientSocket.close();
  1010.  
  1011. }
  1012. }
  1013.  
  1014. CYCLESHEET 3
  1015.  
  1016. 1. Implement echo server and client in java using UDP sockets.
  1017.  
  1018. 2. Write a program to implement a text based message transfer from client to server process using UDP.
  1019.  
  1020. 3. Implement a chat server and client in java using UDP sockets.
  1021.  
  1022. 4. Implement a DNS server and client in java using UDP sockets.
  1023.  
  1024. 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
  1025.  
  1026. 6. Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
  1027.  
  1028. 7. Implement Client - Server communication to access Date using UDP in Java.
  1029.  
  1030. Solutions :
  1031.  
  1032. 1.Implement echo server and client in java using UDP sockets.
  1033.  
  1034. import java.io.*;
  1035. import java.net.*;
  1036.  
  1037. public class EServer
  1038. {
  1039. public static void main(String[] args) throws IOException
  1040. {
  1041.  
  1042. ServerSocket S = new ServerSocket(3000);
  1043.  
  1044. while(true)
  1045. {
  1046. Socket Client = S.accept();
  1047.  
  1048. InputStream in = Client.getInputStream();
  1049.  
  1050. DataInputStream Dis = new DataInputStream(in);
  1051.  
  1052. System.out.println(Dis.readUTF());
  1053.  
  1054. Client = new Socket("localhost",4000);
  1055.  
  1056. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  1057.  
  1058. String Str = buff.readLine();
  1059.  
  1060. OutputStream out = Client.getOutputStream();
  1061.  
  1062. DataOutputStream Dos = new DataOutputStream(out);
  1063.  
  1064. Str = "Server Says :: " + Str;
  1065.  
  1066. Dos.writeUTF(Str);
  1067.  
  1068. Client.close();
  1069.  
  1070. }
  1071.  
  1072. }
  1073.  
  1074. }
  1075.  
  1076.  
  1077.  
  1078. //client
  1079. import java.io.*;
  1080. import java.net.*;
  1081. import java.util.*;
  1082.  
  1083. public class EClient
  1084. {
  1085. public static void main(String[] args) throws IOException
  1086. {
  1087. Socket C = new Socket("localhost",3000);
  1088. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  1089. String Str = buff.readLine();
  1090.  
  1091. OutputStream out = C.getOutputStream();
  1092.  
  1093. DataOutputStream Dos = new DataOutputStream(out);
  1094.  
  1095. Dos.writeUTF("Client Say :: " + Str);
  1096. Dos.flush();
  1097.  
  1098. ServerSocket S = new ServerSocket(4000);
  1099. Socket Client = S.accept();
  1100. InputStream in = Client.getInputStream();
  1101. DataInputStream Dis = new DataInputStream(in);
  1102. System.out.println(Dis.readUTF());
  1103. Client.close();
  1104. }
  1105. }
  1106.  
  1107. OUTPUT:
  1108.  
  1109.  
  1110. ***************************************************
  1111.  
  1112.  
  1113.  
  1114. 2.Write a program to implement a text based message transfer from client to server process using UDP.
  1115.  
  1116. //server
  1117. import java.io.BufferedReader;
  1118. import java.io.BufferedWriter;
  1119. import java.io.InputStream;
  1120. import java.io.InputStreamReader;
  1121. import java.io.OutputStream;
  1122. import java.io.OutputStreamWriter;
  1123. import java.net.ServerSocket;
  1124. import java.net.Socket;
  1125.  
  1126. public class Server
  1127. {
  1128.  
  1129. private static Socket socket;
  1130.  
  1131. public static void main(String[] args)
  1132. {
  1133. try
  1134. {
  1135.  
  1136. int port = 25000;
  1137. ServerSocket serverSocket = new ServerSocket(port);
  1138. System.out.println("Server Started and listening to the port 25000");
  1139.  
  1140. //Server is running always. This is done using this while(true) loop
  1141. while(true)
  1142. {
  1143. //Reading the message from the client
  1144. socket = serverSocket.accept();
  1145. InputStream is = socket.getInputStream();
  1146. InputStreamReader isr = new InputStreamReader(is);
  1147. BufferedReader br = new BufferedReader(isr);
  1148. String number = br.readLine();
  1149. System.out.println("Message received from client is "+number);
  1150.  
  1151. //Multiplying the number by 2 and forming the return message
  1152. String returnMessage;
  1153. try
  1154. {
  1155. int numberInIntFormat = Integer.parseInt(number);
  1156. int returnValue = numberInIntFormat*2;
  1157. returnMessage = String.valueOf(returnValue) + "\n";
  1158. }
  1159. catch(NumberFormatException e)
  1160. {
  1161. //Input was not a number. Sending proper message back to client.
  1162. returnMessage = "Please send a proper number\n";
  1163. }
  1164.  
  1165. //Sending the response back to the client.
  1166. OutputStream os = socket.getOutputStream();
  1167. OutputStreamWriter osw = new OutputStreamWriter(os);
  1168. BufferedWriter bw = new BufferedWriter(osw);
  1169. bw.write(returnMessage);
  1170. System.out.println("Message sent to the client is "+returnMessage);
  1171. bw.flush();
  1172. }
  1173. }
  1174. catch (Exception e)
  1175. {
  1176. e.printStackTrace();
  1177. }
  1178. finally
  1179. {
  1180. try
  1181. {
  1182. socket.close();
  1183. }
  1184. catch(Exception e){}
  1185. }
  1186. }
  1187. }
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196. //client
  1197.  
  1198. import java.io.BufferedReader;
  1199. import java.io.BufferedWriter;
  1200. import java.io.InputStream;
  1201. import java.io.InputStreamReader;
  1202. import java.io.OutputStream;
  1203. import java.io.OutputStreamWriter;
  1204. import java.net.InetAddress;
  1205. import java.net.Socket;
  1206.  
  1207. public class Client
  1208. {
  1209.  
  1210. private static Socket socket;
  1211.  
  1212. public static void main(String args[])
  1213. {
  1214. try
  1215. {
  1216. String host = "localhost";
  1217. int port = 25000;
  1218. InetAddress address = InetAddress.getByName(host);
  1219. socket = new Socket(address, port);
  1220.  
  1221. //Send the message to the server
  1222. OutputStream os = socket.getOutputStream();
  1223. OutputStreamWriter osw = new OutputStreamWriter(os);
  1224. BufferedWriter bw = new BufferedWriter(osw);
  1225.  
  1226. String number = "2";
  1227.  
  1228. String sendMessage = number + "\n";
  1229. bw.write(sendMessage);
  1230. bw.flush();
  1231. System.out.println("Message sent to the server : "+sendMessage);
  1232.  
  1233. //Get the return message from the server
  1234. InputStream is = socket.getInputStream();
  1235. InputStreamReader isr = new InputStreamReader(is);
  1236. BufferedReader br = new BufferedReader(isr);
  1237. String message = br.readLine();
  1238. System.out.println("Message received from the server : " +message);
  1239. }
  1240. catch (Exception exception)
  1241. {
  1242. exception.printStackTrace();
  1243. }
  1244. finally
  1245. {
  1246. //Closing the socket
  1247. try
  1248. {
  1249. socket.close();
  1250. }
  1251. catch(Exception e)
  1252. {
  1253. e.printStackTrace();
  1254. }
  1255. }
  1256. }
  1257. }
  1258.  
  1259. OUTPUT:
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266. **********************************************
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272. 3.Implement a chat server and client in java using UDP sockets.
  1273.  
  1274. //server
  1275. import java.io.*;
  1276. import java.net.*;
  1277.  
  1278. public class UDPChatServer {
  1279. public static void main(String args[]) throws Exception
  1280. {
  1281. DatagramSocket serverSocket = new DatagramSocket(6789);
  1282.  
  1283. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1284. String reply;
  1285. while(true)
  1286. {
  1287. byte[] receiveData = new byte[1024];
  1288. byte[] sendData = new byte[1024];
  1289. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1290. serverSocket.receive(receivePacket);
  1291.  
  1292. String msg = new String(receivePacket.getData());
  1293. System.out.println("Message Received: " + msg);
  1294.  
  1295. InetAddress IPAddress = receivePacket.getAddress();
  1296. int port = receivePacket.getPort();
  1297.  
  1298. System.out.printf("Enter reply: ");
  1299. reply = inFromUser.readLine();
  1300. if (reply.equals("bye"))
  1301. {
  1302. System.out.printf("Exiting Chat!");
  1303. serverSocket.close();
  1304. break;
  1305. }
  1306. sendData = reply.getBytes();
  1307. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  1308. serverSocket.send(sendPacket);
  1309. }
  1310.  
  1311. }
  1312. }
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323. //client
  1324. import java.io.*;
  1325. import java.net.*;
  1326.  
  1327. public class UDPChatClient {
  1328. public static void main(String args[]) throws Exception
  1329. {
  1330. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1331.  
  1332. InetAddress IPAddress = InetAddress.getByName("localhost");
  1333.  
  1334. String msg = "";
  1335. while(true)
  1336. {
  1337. byte[] sendData = new byte[1024];
  1338. byte[] receiveData = new byte[1024];
  1339. DatagramSocket clientSocket = new DatagramSocket();
  1340. System.out.printf("Send a Message: ");
  1341. msg = inFromUser.readLine();
  1342. if (msg.equals("bye"))
  1343. {
  1344. System.out.printf("Exiting Chat!");
  1345. clientSocket.close();
  1346. break;
  1347. }
  1348. sendData = msg.getBytes();
  1349.  
  1350. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  1351. clientSocket.send(sendPacket);
  1352.  
  1353. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1354. clientSocket.receive(receivePacket);
  1355.  
  1356. String reply = new String(receivePacket.getData());
  1357. System.out.println("Reply: " + reply);
  1358. clientSocket.close();
  1359. }
  1360. }
  1361. }
  1362.  
  1363.  
  1364. ****************************************
  1365.  
  1366.  
  1367.  
  1368. 4. Implement a DNS server and client in java using UDP sockets.
  1369.  
  1370. //server
  1371. import java.io.*;
  1372. import java.net.*;
  1373. import java.util.*;
  1374. class Serverdns12
  1375. {
  1376.  
  1377. public static void main(String args[])
  1378. {
  1379. try
  1380. {
  1381. DatagramSocket server=new DatagramSocket(1309);
  1382. while(true)
  1383. {
  1384. byte[] sendbyte=new byte[1024];
  1385. byte[] receivebyte=new byte[1024];
  1386. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  1387. server.receive(receiver);
  1388. String str=new String(receiver.getData());
  1389. String s=str.trim();
  1390. //System.out.println(s);
  1391. InetAddress addr=receiver.getAddress();
  1392. int port=receiver.getPort();
  1393. String ip[]={"165.165.80.80","165.165.79.1"};
  1394. String name[]={"www.aptitudeguru.com","www.downloadcyclone.blogspot.com"};
  1395. for(int i=0;i<ip.length;i++)
  1396. {
  1397. if(s.equals(ip[i]))
  1398. {
  1399. sendbyte=name[i].getBytes();
  1400. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  1401. server.send(sender);
  1402. break;
  1403. }
  1404. else if(s.equals(name[i]))
  1405. {
  1406. sendbyte=ip[i].getBytes();
  1407. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  1408. server.send(sender);
  1409. break;
  1410. }
  1411. }
  1412. break;
  1413. }
  1414. }
  1415. catch(Exception e)
  1416. {
  1417. System.out.println(e);
  1418. }
  1419. }
  1420. }
  1421.  
  1422.  
  1423.  
  1424.  
  1425. //client
  1426.  
  1427. import java.io.*;
  1428. import java.net.*;
  1429. import java.util.*;
  1430. class Clientdns12
  1431. {
  1432. public static void main(String args[])
  1433. {
  1434. try
  1435. {
  1436. DatagramSocket client=new DatagramSocket();
  1437. InetAddress addr=InetAddress.getByName("127.0.0.1");
  1438.  
  1439. byte[] sendbyte=new byte[1024];
  1440. byte[] receivebyte=new byte[1024];
  1441.  
  1442. BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  1443. System.out.println("Enter the DOMAIN NAME or IP adress:");
  1444. String str=in.readLine();
  1445. sendbyte=str.getBytes();
  1446. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
  1447. client.send(sender);
  1448. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  1449. client.receive(receiver);
  1450. String s=new String(receiver.getData());
  1451. System.out.println("IP address or DOMAIN NAME: "+s.trim());
  1452. client.close();
  1453. }
  1454. catch(Exception e)
  1455. {
  1456. System.out.println(e);
  1457. }
  1458. }
  1459. }
  1460.  
  1461. ***************************
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467. 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
  1468.  
  1469. //SERVER
  1470. import java.io.*;
  1471. import java.net.*;
  1472.  
  1473. public class UDPRARPServer {
  1474. public static void main(String args[]) throws Exception
  1475. {
  1476. DatagramSocket serverSocket = new DatagramSocket(6789);
  1477. byte[] receiveData = new byte[1024];
  1478. byte[] sendData = new byte[1024];
  1479.  
  1480. String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  1481. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
  1482. String reply = "";
  1483.  
  1484. while(true)
  1485. {
  1486. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1487. serverSocket.receive(receivePacket);
  1488.  
  1489. String phyaddr = new String(receivePacket.getData());
  1490. System.out.println("Physical Address received: " + phyaddr);
  1491. phyaddr = phyaddr.trim();
  1492. InetAddress IPAddress = receivePacket.getAddress();
  1493. int port = receivePacket.getPort();
  1494.  
  1495. for(int i = 0; i < physical.length; i++)
  1496. {
  1497. if (phyaddr.equals(physical[i]))
  1498. {
  1499. reply = logical[i];
  1500. sendData = reply.getBytes();
  1501. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  1502. serverSocket.send(sendPacket);
  1503. }
  1504. }
  1505.  
  1506. }
  1507. }
  1508. }
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519. //CLIENT
  1520. import java.io.*;
  1521. import java.net.*;
  1522.  
  1523. public class UDPRARPClient {
  1524. public static void main(String args[]) throws Exception
  1525. {
  1526. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1527. DatagramSocket clientSocket = new DatagramSocket();
  1528. InetAddress IPAddress = InetAddress.getByName("localhost");
  1529. byte[] sendData = new byte[1024];
  1530. byte[] receiveData = new byte[1024];
  1531.  
  1532. System.out.printf("Enter Physical address: ");
  1533. String phyaddr = inFromUser.readLine();
  1534. sendData = phyaddr.getBytes();
  1535.  
  1536. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  1537. clientSocket.send(sendPacket);
  1538.  
  1539. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1540. clientSocket.receive(receivePacket);
  1541.  
  1542. String logaddr = new String(receivePacket.getData());
  1543. System.out.println("Logical Address:" + logaddr);
  1544. clientSocket.close();
  1545. }
  1546. }
  1547.  
  1548.  
  1549. ********************************
  1550.  
  1551.  
  1552. 6.Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
  1553.  
  1554. //server
  1555. import java.io.*;
  1556. import java.net.*;
  1557. import java.util.*;
  1558. class Serverarp12
  1559. {
  1560. public static void main(String args[])
  1561. {
  1562. try
  1563. {
  1564. DatagramSocket server=new DatagramSocket(1309);
  1565. while(true)
  1566. {
  1567. byte[] sendbyte=new byte[1024];
  1568. byte[] receivebyte=new byte[1024];
  1569. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  1570. server.receive(receiver);
  1571. String str=new String(receiver.getData());
  1572. String s=str.trim();
  1573. //System.out.println(s);
  1574. InetAddress addr=receiver.getAddress();
  1575. int port=receiver.getPort();
  1576. String ip[]={"165.165.80.80","165.165.79.1"};
  1577. String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"};
  1578. for(int i=0;i<ip.length;i++)
  1579. {
  1580. if(s.equals(ip[i]))
  1581. {
  1582. sendbyte=mac[i].getBytes();
  1583. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  1584. server.send(sender);
  1585. break;
  1586. }
  1587. }
  1588. break;
  1589.  
  1590.  
  1591. }
  1592. }
  1593. catch(Exception e)
  1594. {
  1595. System.out.println(e);
  1596. }
  1597. }
  1598. }
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612. //client
  1613. import java.io.*;
  1614. import java.net.*;
  1615. import java.util.*;
  1616. class Clientarp12
  1617. {
  1618. public static void main(String args[])
  1619. {
  1620. try
  1621. {
  1622. DatagramSocket client=new DatagramSocket();
  1623. InetAddress addr=InetAddress.getByName("127.0.0.1");
  1624.  
  1625. byte[] sendbyte=new byte[1024];
  1626. byte[] receivebyte=new byte[1024];
  1627. BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  1628. System.out.println("Enter the logical address (IP):");
  1629. String str=in.readLine();
  1630. sendbyte=str.getBytes();
  1631. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
  1632. client.send(sender);
  1633. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  1634. client.receive(receiver);
  1635. String s=new String(receiver.getData());
  1636. System.out.println("The Physical Address is(MAC): "+s.trim());
  1637. client.close();
  1638. }
  1639. catch(Exception e)
  1640. {
  1641. System.out.println(e);
  1642. }
  1643. }
  1644. }
  1645.  
  1646.  
  1647.  
  1648. *********************************
  1649.  
  1650.  
  1651. 7.Implement Client - Server communication to access Date using UDP in Java.
  1652.  
  1653.  
  1654. //server
  1655. import java.io.*;
  1656. import java.net.*;
  1657. import java.util.*;
  1658.  
  1659. public class UDPDateServer {
  1660. public static void main(String args[]) throws Exception
  1661. {
  1662. DatagramSocket serverSocket = new DatagramSocket(6789);
  1663. byte[] receiveData = new byte[1024];
  1664. byte[] sendData = new byte[1024];
  1665. String GetDate = "";
  1666. while(true)
  1667. {
  1668. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1669. serverSocket.receive(receivePacket);
  1670.  
  1671. String msg = new String(receivePacket.getData());
  1672. System.out.println("Message: " + msg);
  1673.  
  1674. InetAddress IPAddress = receivePacket.getAddress();
  1675. int port = receivePacket.getPort();
  1676. msg = msg.trim();
  1677. if (msg.equals("date"))
  1678. {
  1679. Date d = new Date();
  1680. GetDate = d.toString();
  1681. }
  1682.  
  1683. sendData = GetDate.getBytes();
  1684. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  1685. serverSocket.send(sendPacket);
  1686. }
  1687. }
  1688. }
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702. //client
  1703.  
  1704. import java.io.*;
  1705. import java.net.*;
  1706.  
  1707.  
  1708. public class UDPDateClient {
  1709. public static void main(String args[]) throws Exception
  1710. {
  1711. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1712. DatagramSocket clientSocket = new DatagramSocket();
  1713. InetAddress IPAddress = InetAddress.getByName("localhost");
  1714. byte[] sendData = new byte[1024];
  1715. byte[] receiveData = new byte[1024];
  1716.  
  1717. System.out.printf("Enter Request: ");
  1718. String msg = inFromUser.readLine();
  1719. sendData = msg.getBytes();
  1720.  
  1721. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  1722. clientSocket.send(sendPacket);
  1723.  
  1724. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1725. clientSocket.receive(receivePacket);
  1726.  
  1727. String reply = new String(receivePacket.getData());
  1728. System.out.println("FROM SERVER:" + reply);
  1729. clientSocket.close();
  1730. }
  1731. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement