Advertisement
Guest User

backup final

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