Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 109.14 KB | None | 0 0
  1. Q1. Write a program to download the contents associated with a HTTP URL and save it in a file.
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.net.*;
  7. import java.io.*;
  8.  
  9.  
  10. public class cs2q1 {
  11.  
  12. public static void downloadUsingStream(String urlStr, String file) throws IOException{
  13. URL url = new URL(urlStr);
  14. BufferedInputStream bis = new BufferedInputStream(url.openStream());
  15. FileOutputStream fis = new FileOutputStream(file);
  16. byte[] buffer = new byte[1024];
  17. int count=0;
  18. while((count = bis.read(buffer,0,1024)) != -1)
  19. {
  20. fis.write(buffer, 0, count);
  21. }
  22. fis.close();
  23. bis.close();
  24. }
  25.  
  26. public static void main(String[] args) {
  27. String url = "https://en.wikipedia.org/wiki/Triangle_(2009_British_film)";
  28.  
  29. try {
  30. cs2q1 a = new cs2q1();
  31. a.downloadUsingStream(url, "./demo.txt");
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. }
  37.  
  38.  
  39. ======================================================
  40.  
  41. Q2. Write an application to analyse the details of HTTP header using the classes and methods supported by java API.
  42.  
  43. import java.io.*;
  44.  
  45. public class IPHeader {
  46.  
  47. public static void main(String[] args) throws IOException {
  48. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  49. System.out.println("Please enter the Hex Dump:");
  50. String input = br.readLine();
  51.  
  52. String IPVer = input.substring(0,1);
  53. if(IPVer.equals("4"))
  54. System.out.println("IP Version: 4");
  55. if(IPVer.equals("6"))
  56. System.out.println("IP Version: 6");
  57.  
  58. String h_len = input.substring(1,2);
  59. System.out.println("Header Length: " + (4 * Integer.parseInt(h_len,16)));
  60.  
  61. String s_type = input.substring(2,4);
  62. String s_t_bin = Integer.toBinaryString(Integer.parseInt(s_type,16));
  63. while(s_t_bin.length() < 8)
  64. s_t_bin = "0" + s_t_bin;
  65. System.out.println("Precedence: " + Integer.parseInt(s_t_bin.substring(0,3),2));
  66. if(s_t_bin.charAt(3) == '1')
  67. System.out.println("Minimize Delay Requested");
  68. if(s_t_bin.charAt(4) == '1')
  69. System.out.println("Maximize Throughput Requested");
  70. if(s_t_bin.charAt(5) == '1')
  71. System.out.println("Maximize Reliability Requested");
  72. if(s_t_bin.charAt(6) == '1')
  73. System.out.println("Minimize Cost Requested");
  74.  
  75. String tot_len = input.substring(4,8);
  76. System.out.println("Total Length: " + Integer.parseInt(tot_len,16) + " Bytes");
  77.  
  78. String id = input.substring(8,12);
  79. System.out.println("Identification: " + Integer.parseInt(id,16));
  80.  
  81. String frag = input.substring(12,16);
  82. String frag_bin = Integer.toBinaryString(Integer.parseInt(frag,16));
  83. while(frag_bin.length() < 16)
  84. frag_bin = "0" + frag_bin;
  85. String frag_flags = frag_bin.substring(0,3);
  86. if(frag_flags.charAt(1) == '1')
  87. System.out.println("Do not Fragment Packet");
  88. else
  89. System.out.println("Can be Fragmented");
  90. if(frag_flags.charAt(2) == '1')
  91. System.out.println("More Fragments pending");
  92. else
  93. System.out.println("No more Fragments pending");
  94.  
  95.  
  96. System.out.println("Fragmentation Offset: " + ((8 * Integer.parseInt(frag_bin.substring(3, 16),2)) - (4 * Integer.parseInt(h_len,16))));
  97.  
  98. String ttl = input.substring(16,18);
  99. System.out.println("Time to live: " + Integer.parseInt(ttl,16) + " Hops");
  100.  
  101. String protocol = input.substring(18,20);
  102. System.out.print("Protocol: ");
  103. if(Integer.parseInt(protocol,16) == 1)
  104. System.out.println("ICMP");
  105. if(Integer.parseInt(protocol,16) == 2)
  106. System.out.println("IGMP");
  107. if(Integer.parseInt(protocol,16) == 89)
  108. System.out.println("OSPF");
  109. if(Integer.parseInt(protocol,16) == 6)
  110. System.out.println("TCP");
  111. if(Integer.parseInt(protocol,16) == 17)
  112. System.out.println("UDP");
  113.  
  114. String checksum = input.substring(20,24);
  115. System.out.println("Header Checksum: " + Integer.parseInt(checksum,16));
  116.  
  117. String s_ip = input.substring(24,32);
  118. String s_ip_bin = Long.toBinaryString(Long.parseLong(s_ip,16));
  119. while(s_ip_bin.length() < 32)
  120. s_ip_bin = "0" + s_ip_bin;
  121. System.out.print("Source IP Address: ");
  122. System.out.print(Integer.parseInt(s_ip_bin.substring(0,8),2) + ".");
  123. System.out.print(Integer.parseInt(s_ip_bin.substring(8,16),2) + ".");
  124. System.out.print(Integer.parseInt(s_ip_bin.substring(16,24),2) + ".");
  125. System.out.println(Integer.parseInt(s_ip_bin.substring(24,32),2));
  126.  
  127. String d_ip = input.substring(32,40);
  128. String d_ip_bin = Long.toBinaryString(Long.parseLong(d_ip,16));
  129. while(d_ip_bin.length() < 32)
  130. d_ip_bin = "0" + d_ip_bin;
  131. System.out.print("Destination IP Address: ");
  132. System.out.print(Integer.parseInt(d_ip_bin.substring(0,8),2) + ".");
  133. System.out.print(Integer.parseInt(d_ip_bin.substring(8,16),2) + ".");
  134. System.out.print(Integer.parseInt(d_ip_bin.substring(16,24),2) + ".");
  135. System.out.println(Integer.parseInt(d_ip_bin.substring(24,32),2));
  136. }
  137.  
  138. }
  139.  
  140.  
  141.  
  142. ====================================================
  143.  
  144. Q3. Write a client server program to get an array of 10 integers in client side pass it to server and sort the array in descending order on server side and display the sorted array
  145.  
  146. import java.io.*;
  147. import java.net.*;
  148. import java.util.*;
  149. class ServerSort
  150. {
  151. public static void main(String[] args)throws Exception
  152. {
  153. ServerSocket ss = new ServerSocket(7898);
  154. Socket cs = ss.accept();
  155. Scanner in = new Scanner(cs.getInputStream());
  156. //PrintStream out = new PrintStream(cs.getOutputStream());
  157. //BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  158. String s; int y;int temp;
  159. s=in.next();
  160. y=Integer.parseInt(s);
  161. System.out.print("Size of the Received from Clients :- " + y);
  162. int x[] = new int[y];
  163. for(int i=0;i<y;i++)
  164. {
  165. s=in.next();
  166. x[i]=Integer.parseInt(s);
  167. //System.out.println(x[i]);
  168. }
  169.  
  170. System.out.println("\nElements of Array Received from Client :- ");
  171. for(int u=0;u<y;u++)
  172. {
  173. System.out.print(x[u]+" ");
  174. }
  175. for(int a = 0;a<y;a++)
  176. {
  177. for(int b=0;b<y;b++)
  178. {
  179. if(x[a]<x[b])
  180. {
  181. temp=x[b];
  182. x[b]=x[a];
  183. x[a]=temp;
  184. }
  185. }
  186. }
  187. System.out.println("\nArray After Sorting :- ");
  188. for(int u=0;u<y;u++)
  189. {
  190. System.out.print(x[u]+" ");
  191. }
  192. System.out.println();
  193. ss.close();cs.close();in.close();//out.close();
  194. }
  195. }
  196.  
  197.  
  198. import java.io.*;
  199. import java.net.*;
  200. import java.util.*;
  201. class ClientSort
  202. {
  203. public static void main(String[] args)throws Exception
  204. {
  205. Socket cs = new Socket("localhost",7898);
  206. DataInputStream in = new DataInputStream(cs.getInputStream());
  207. PrintStream out = new PrintStream(cs.getOutputStream());
  208. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  209. String s; int k;
  210. Scanner sc = new Scanner(System.in);
  211. System.out.println("Enter size of the array :- ");
  212. k=sc.nextInt();
  213. int n[] = new int[k];
  214. s=""+k;
  215. out.println(s);
  216. System.out.println("Enter a list of numbers :- ");
  217. for(int i=0;i<k;i++)
  218. {
  219. n[i]=sc.nextInt();
  220. s=""+n[i];
  221. out.println(s);
  222. }
  223.  
  224. out.close();in.close();cs.close();br.close();
  225. }
  226. }
  227.  
  228. ------------------
  229.  
  230. UDP KOSHISH
  231.  
  232. userver:
  233.  
  234. import java.io.BufferedReader;
  235. import java.io.InputStreamReader;
  236. import java.net.DatagramPacket;
  237. import java.net.DatagramSocket;
  238. import java.net.InetAddress;
  239.  
  240. class userver{
  241. public static void main(String[] args) throws Exception{
  242. DatagramSocket serverSocket=new DatagramSocket(6700);
  243. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  244. String reply;
  245. while(true){
  246. byte[] receiveData=new byte[1024];
  247. byte[] sendData=new byte[1024];
  248.  
  249.  
  250. DatagramPacket receivePacket=new DatagramPacket(receiveData, receiveData.length);
  251. serverSocket.receive(receivePacket);
  252. //String msg=new String(receivePacket.getData());
  253.  
  254. String s; int y=3;int temp;
  255. /*s=new String(receivePacket.getData());
  256. y=Integer.parseInt(s);
  257. System.out.print("Size of the Received from Clients :- " + y);*/
  258. //int y=10;
  259. int x[] = new int[y];
  260. for(int i=0;i<y;i++)
  261. {
  262. s=new String(receivePacket.getData());
  263. x[i]=Integer.parseInt(s);
  264.  
  265. }
  266.  
  267. System.out.println("\nElements of Array Received from Client :- ");
  268. for(int u=0;u<y;u++)
  269. {
  270. System.out.print(x[u]+" ");
  271. }
  272. for(int a = 0;a<y;a++)
  273. {
  274. for(int b=0;b<y;b++)
  275. {
  276. if(x[a]<x[b])
  277. {
  278. temp=x[b];
  279. x[b]=x[a];
  280. x[a]=temp;
  281. }
  282. }
  283. }
  284. System.out.println("\nArray After Sorting :- ");
  285. for(int u=0;u<y;u++)
  286. {
  287. System.out.print(x[u]+" ");
  288. }
  289. System.out.println();
  290. serverSocket.close();
  291. }
  292. }
  293. }
  294.  
  295.  
  296. uclient:
  297.  
  298. import java.io.BufferedReader;
  299. import java.io.InputStreamReader;
  300. import java.net.DatagramPacket;
  301. import java.net.DatagramSocket;
  302. import java.net.InetAddress;
  303. import java.util.Scanner;
  304.  
  305. class uclient{
  306. public static void main(String[] args) throws Exception{
  307. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  308.  
  309. InetAddress address=InetAddress.getByName("localhost");
  310. //String msg="";
  311. while(true){
  312. byte[] receiveData=new byte[1024];
  313. byte[] sendData=new byte[1024];
  314. DatagramSocket clientSocket=new DatagramSocket(6789);
  315.  
  316. String s; int k=3;
  317. //Scanner sc = new Scanner(System.in);
  318. /*System.out.println("Enter size of the array :- ");
  319. k=infromuser.read();*/
  320. int n[] = new int[k];
  321. //s=""+k;
  322. //msg=infromuser.readLine();
  323. /*sendData=s.getBytes();
  324. DatagramPacket sendPacket=new DatagramPacket(sendData, sendData.length, address, 6700);
  325. clientSocket.send(sendPacket);*/
  326.  
  327. //out.println(s);
  328. System.out.println("Enter a list of numbers :- ");
  329. for(int i=0;i<k;i++)
  330. {
  331. n[i]=infromuser.read();
  332. s=""+n[i];
  333. //out.println(s);
  334. sendData=s.getBytes();
  335. DatagramPacket sendPacket=new DatagramPacket(sendData, sendData.length, address, 6700);
  336. clientSocket.send(sendPacket);
  337. }
  338.  
  339. clientSocket.close();
  340.  
  341.  
  342.  
  343. /*System.out.println("send msg:");
  344.  
  345. DatagramPacket receivePacket=new DatagramPacket(receiveData, receiveData.length);
  346. clientSocket.receive(receivePacket);
  347. String reply=new String(receivePacket.getData());
  348. System.out.println("reply from server:"+reply);
  349. */
  350. }
  351. }
  352. }
  353.  
  354. ======================================================================
  355.  
  356.  
  357. Q4. Write a client server program to get an array of 10 strings in client side pass it to server and sort the array of strings in server side and display the sorted array
  358.  
  359. TCP
  360.  
  361. import java.io.*;
  362. import java.net.*;
  363. import java.util.*;
  364. class ClientStringSort
  365. {
  366. public static void main(String[] args)throws Exception
  367. {
  368. Socket cs = new Socket("localhost",7998);
  369. DataInputStream in = new DataInputStream(cs.getInputStream());
  370. PrintStream out = new PrintStream(cs.getOutputStream());
  371. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  372. String s; int k;
  373. Scanner sc = new Scanner(System.in);
  374. System.out.println("Enter size of the array :- ");
  375. k=sc.nextInt();
  376. String n[] = new String[k];
  377. s=""+k;
  378. out.println(s);
  379. System.out.println("Enter elements of the array :- ");
  380. for(int i=0;i<k;i++)
  381. {
  382. n[i]=sc.next();
  383. out.println(n[i]);
  384. }
  385.  
  386. out.close();in.close();cs.close();br.close();
  387. }
  388. }
  389.  
  390. import java.io.*;
  391. import java.net.*;
  392. import java.util.*;
  393. class ServerStringSort
  394. {
  395. public static void main(String[] args)throws Exception
  396. {
  397. ServerSocket ss = new ServerSocket(7998);
  398. Socket cs = ss.accept();
  399. Scanner in = new Scanner(cs.getInputStream());
  400. PrintStream out = new PrintStream(cs.getOutputStream());
  401. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  402. String s; int y;String temp;
  403. s=in.next();
  404. y=Integer.parseInt(s);
  405. System.out.print("Size of the Received from Clients :- " + y);
  406. String x[] = new String[y];
  407. for(int i=0;i<y;i++)
  408. {
  409. x[i]=in.next();
  410. //System.out.println(x[i]);
  411. }
  412.  
  413. System.out.println("\nElements of Array Received from Client :- ");
  414. for(int u=0;u<y;u++)
  415. {
  416. System.out.print(x[u]+" ");
  417. }
  418. for(int a = 0;a<y;a++)
  419. {
  420. for(int b=0;b<y;b++)
  421. {
  422. if((x[a].compareTo(x[b]))<0)
  423. {
  424. temp=x[b];
  425. x[b]=x[a];
  426. x[a]=temp;
  427. }
  428. }
  429. }
  430. System.out.println("\nArray After Sorting :- ");
  431. for(int u=0;u<y;u++)
  432. {
  433. System.out.print(x[u]+" ");
  434. }
  435. System.out.println();
  436. ss.close();cs.close();in.close();out.close();
  437. }
  438. }
  439.  
  440. -------------
  441.  
  442. UDP
  443.  
  444. server
  445. import java.io.*;
  446. import java.net.*;
  447.  
  448. public class udpsts {
  449. public static void main(String args[]) throws Exception
  450. {
  451. DatagramSocket serverSocket = new DatagramSocket(6789);
  452.  
  453.  
  454. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  455. //String reply;
  456. while(true)
  457. {
  458. String x[]=new String[3];
  459. byte[] receiveData = new byte[10];
  460. byte[] sendData = new byte[10];
  461. String temp;
  462. for(int i=0;i<3;i++)
  463. {
  464. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  465. serverSocket.receive(receivePacket);
  466. String msg = new String(receivePacket.getData());
  467. //System.out.println("Message Received: " + msg);
  468. x[i]=msg;
  469. InetAddress IPAddress = receivePacket.getAddress();
  470. int port = receivePacket.getPort();
  471. }
  472.  
  473.  
  474. for(int u=0;u<3;u++)
  475. {
  476. System.out.println(x[u]+" ");
  477. }
  478. for(int a = 0;a<3;a++)
  479. {
  480. for(int b=0;b<3;b++)
  481. {
  482. if((x[a].compareTo(x[b]))<0)
  483. {
  484. temp=x[b];
  485. x[b]=x[a];
  486. x[a]=temp;
  487. }
  488. }
  489. }
  490. System.out.println("\nArray After Sorting :- ");
  491. for(int u=0;u<3;u++)
  492. {
  493. System.out.println(x[u]+" ");
  494. }
  495. System.out.println();
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. //System.out.println("Enter reply: ");
  504. //reply = inFromUser.readLine();
  505. char reply[]=new char[30];
  506. //reply=msg.toCharArray();
  507. //for(int i=0;i<msg.length();i++)
  508. {
  509. // reply[i]++;
  510. }
  511.  
  512. sendData = new String(reply).getBytes("UTF-8");
  513. //DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  514. // serverSocket.send(sendPacket);
  515. }
  516.  
  517. }
  518. }
  519.  
  520. client
  521.  
  522. import java.io.*;
  523. import java.net.*;
  524.  
  525. public class udpstc {
  526. public static void main(String args[]) throws Exception
  527. {
  528. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  529.  
  530. InetAddress IPAddress = InetAddress.getByName("localhost");
  531.  
  532. String msg[]=new String[3] ;
  533. while(true)
  534. {
  535. byte[] sendData = new byte[10];
  536. byte[] receiveData = new byte[10];
  537. DatagramSocket clientSocket = new DatagramSocket();
  538. //System.out.println("enter the size of array: ");
  539. for(int i=0;i<3;i++)
  540. {
  541. msg[i] = inFromUser.readLine();
  542. sendData = msg[i].getBytes();
  543. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  544. clientSocket.send(sendPacket);
  545. }
  546. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  547. clientSocket.receive(receivePacket);
  548.  
  549. String reply = new String(receivePacket.getData());
  550. System.out.println("Reply: " + reply);
  551. clientSocket.close();
  552. }
  553. }
  554. }
  555. ======================================================
  556.  
  557. Q5. Develop an application to illustrate Java mail API
  558.  
  559. import java.util.*;
  560. import javax.mail.*;
  561. import javax.mail.internet.*;
  562. import javax.activation.*;
  563.  
  564. public class SendEmail {
  565.  
  566. public static void main(String [] args) {
  567. // Recipient's email ID needs to be mentioned.
  568. String to = "abcd@gmail.com";
  569.  
  570. // Sender's email ID needs to be mentioned
  571. String from = "web@gmail.com";
  572.  
  573. // Assuming you are sending email from localhost
  574. String host = "localhost";
  575.  
  576. // Get system properties
  577. Properties properties = System.getProperties();
  578.  
  579. // Setup mail server
  580. properties.setProperty("mail.smtp.host", host);
  581.  
  582. // Get the default Session object.
  583. Session session = Session.getDefaultInstance(properties);
  584.  
  585. try {
  586. // Create a default MimeMessage object.
  587. MimeMessage message = new MimeMessage(session);
  588.  
  589. // Set From: header field of the header.
  590. message.setFrom(new InternetAddress(from));
  591.  
  592. // Set To: header field of the header.
  593. message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
  594.  
  595. // Set Subject: header field
  596. message.setSubject("This is the Subject Line!");
  597.  
  598. // Send the actual HTML message, as big as you like
  599. message.setContent("<h1>This is actual message</h1>", "text/html");
  600.  
  601. // Send message
  602. Transport.send(message);
  603. System.out.println("Sent message successfully....");
  604. }catch (MessagingException mex) {
  605. mex.printStackTrace();
  606. }
  607. }
  608. }
  609.  
  610. ========================================
  611.  
  612.  
  613. RMI
  614.  
  615.  
  616. Adder.java
  617.  
  618. import java.rmi.*;
  619. public interface Adder extends Remote{
  620.  
  621. public int add(int x,int y)throws RemoteException;
  622. }
  623.  
  624. ---------------
  625.  
  626. AdderRemote.java
  627.  
  628. import java.rmi.*;
  629. import java.rmi.server.*;
  630.  
  631. public class AdderRemote extends UnicastRemoteObject implements Adder{
  632.  
  633. AdderRemote()throws RemoteException{
  634. super();
  635. }
  636.  
  637. public int add(int x,int y){return x+y;}
  638.  
  639. }
  640.  
  641. -----------
  642.  
  643. MyClient.java
  644.  
  645. import java.rmi.*;
  646.  
  647. public class MyClient{
  648.  
  649. public static void main(String args[]){
  650. try{
  651.  
  652. Adder stub=(Adder)Naming.lookup("rmi://localhost:5000/sonoo");
  653. System.out.println(stub.add(34,4));
  654.  
  655. }catch(Exception e){System.out.println(e);}
  656. }
  657.  
  658. }
  659.  
  660. -----------
  661.  
  662. MyServer.java
  663.  
  664. import java.rmi.*;
  665. import java.rmi.registry.*;
  666.  
  667. public class MyServer{
  668.  
  669. public static void main(String args[]){
  670. try{
  671.  
  672. Adder stub=new AdderRemote();
  673. Naming.rebind("rmi://localhost:5000/sonoo",stub);
  674.  
  675. }catch(Exception e){System.out.println(e);}
  676. }
  677.  
  678. }
  679.  
  680.  
  681. ============================================================
  682. ============================================================
  683.  
  684. Datagram channel chat client/server
  685.  
  686. import java.io.BufferedReader;
  687. import java.io.InputStreamReader;
  688. import java.net.InetSocketAddress;
  689. import java.nio.ByteBuffer;
  690. import java.nio.channels.DatagramChannel;
  691. public class DCchatClient {
  692. public static void main(String[] args) throws Exception {
  693. DatagramChannel client = null;
  694. client = DatagramChannel.open();
  695.  
  696. client.bind(null);
  697. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  698. while(true){
  699. String msg = infromuser.readLine();
  700. ByteBuffer buffer = ByteBuffer.wrap(msg.getBytes());
  701. InetSocketAddress serverAddress = new InetSocketAddress("localhost",8989);
  702.  
  703. client.send(buffer, serverAddress);
  704. buffer.clear();
  705. ByteBuffer buff = ByteBuffer.allocate(1024);
  706. client.receive(buff);
  707. buff.flip();
  708. int limits = buff.limit();
  709. byte bytes[] = new byte[limits];
  710. buff.get(bytes, 0, limits);
  711. String response = new String(bytes);
  712. System.out.println("Server responded: " + response);
  713. buff.clear();
  714. //client.close();
  715. }}
  716. }
  717.  
  718.  
  719. import java.io.BufferedReader;
  720. import java.io.InputStreamReader;
  721. import java.net.InetSocketAddress;
  722. import java.net.SocketAddress;
  723. import java.nio.ByteBuffer;
  724. import java.nio.channels.DatagramChannel;
  725. public class DCchatServer {
  726. public static void main(String[] args) throws Exception {
  727. DatagramChannel server = null;
  728. server = DatagramChannel.open();
  729. InetSocketAddress sAddr = new InetSocketAddress("localhost", 8989);
  730. server.bind(sAddr);
  731. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  732. ByteBuffer buffer = ByteBuffer.allocate(1024);
  733.  
  734. while (true) {
  735. System.out.println("Waiting for a message from"
  736. + " a remote host at " + sAddr);
  737. SocketAddress remoteAddr = server.receive(buffer);
  738. buffer.flip();
  739. int limits = buffer.limit();
  740. byte bytes[] = new byte[limits];
  741. buffer.get(bytes, 0, limits);
  742. String msg = new String(bytes);
  743.  
  744. System.out.println("Client at " + remoteAddr + " says: " + msg);
  745. buffer.clear();
  746. String reply = infromuser.readLine();
  747. ByteBuffer buff = ByteBuffer.wrap(reply.getBytes());
  748. server.send(buff, remoteAddr);
  749. buff.clear();
  750. /*String reply = infromuser.readLine();
  751. ByteBuffer buff = ByteBuffer.wrap(msg.getBytes());
  752. server.send(buff, remoteAddr);
  753. buffer.clear();*/
  754. }
  755. //server.close();
  756. }
  757. }
  758.  
  759. --------------------------------
  760.  
  761. Datagram channel echo client/server
  762.  
  763. import java.io.BufferedReader;
  764. import java.io.InputStreamReader;
  765. import java.net.InetSocketAddress;
  766. import java.nio.ByteBuffer;
  767. import java.nio.channels.DatagramChannel;
  768. public class DCechoClient {
  769. public static void main(String[] args) throws Exception {
  770. DatagramChannel client = null;
  771. client = DatagramChannel.open();
  772.  
  773. client.bind(null);
  774. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  775. String msg = infromuser.readLine();
  776. ByteBuffer buffer = ByteBuffer.wrap(msg.getBytes());
  777. InetSocketAddress serverAddress = new InetSocketAddress("localhost",8989);
  778.  
  779. client.send(buffer, serverAddress);
  780. buffer.clear();
  781. //ByteBuffer buff = ByteBuffer.allocate(1024);
  782. client.receive(buffer);
  783. buffer.flip();
  784. int limits = buffer.limit();
  785. byte bytes[] = new byte[limits];
  786. buffer.get(bytes, 0, limits);
  787. String response = new String(bytes);
  788. System.out.println("Server responded: " + response);
  789. buffer.clear();
  790. client.close();
  791. }
  792. }
  793.  
  794. import java.io.BufferedReader;
  795. import java.io.InputStreamReader;
  796. import java.net.InetSocketAddress;
  797. import java.net.SocketAddress;
  798. import java.nio.ByteBuffer;
  799. import java.nio.channels.DatagramChannel;
  800. public class DCechoServer {
  801. public static void main(String[] args) throws Exception {
  802. DatagramChannel server = null;
  803. server = DatagramChannel.open();
  804. InetSocketAddress sAddr = new InetSocketAddress("localhost", 8989);
  805. server.bind(sAddr);
  806. // BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  807. ByteBuffer buffer = ByteBuffer.allocate(1024);
  808. System.out.println("Waiting for a message from"
  809. + " a remote host at " + sAddr);
  810. while (true) {
  811.  
  812. SocketAddress remoteAddr = server.receive(buffer);
  813. buffer.flip();
  814. int limits = buffer.limit();
  815. byte bytes[] = new byte[limits];
  816. buffer.get(bytes, 0, limits);
  817. String msg = new String(bytes);
  818.  
  819. System.out.println("Client at " + remoteAddr + " says: " + msg);
  820. buffer.rewind();
  821. server.send(buffer, remoteAddr);
  822. buffer.clear();
  823. }
  824. //server.close();
  825. }
  826. }
  827.  
  828. -------------------------------
  829.  
  830. UDP MULTICAST CLIENT/SERVER (ONLY ONE TIME MESSAGE SENDING)
  831.  
  832. import java.net.DatagramPacket;
  833. import java.net.InetAddress;
  834. import java.net.MulticastSocket;
  835. public class UDPMulticastC {
  836. public static void main(String[] args) throws Exception {
  837. int mcPort = 12345;
  838. String mcIPStr = "230.1.1.1";
  839. MulticastSocket mcSocket = null;
  840. InetAddress mcIPAddress = null;
  841. mcIPAddress = InetAddress.getByName(mcIPStr);
  842. mcSocket = new MulticastSocket(mcPort);
  843. System.out.println("Multicast Receiver running at:"
  844. + mcSocket.getLocalSocketAddress());
  845. mcSocket.joinGroup(mcIPAddress);
  846.  
  847. DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
  848.  
  849. System.out.println("Waiting for a multicast message...");
  850. mcSocket.receive(packet);
  851. String msg = new String(packet.getData(), packet.getOffset(),
  852. packet.getLength());
  853. System.out.println("[Multicast Receiver] Received:" + msg);
  854.  
  855. mcSocket.leaveGroup(mcIPAddress);
  856. mcSocket.close();
  857. }
  858. }
  859.  
  860. import java.io.BufferedReader;
  861. import java.io.InputStreamReader;
  862. import java.net.DatagramPacket;
  863. import java.net.DatagramSocket;
  864. import java.net.InetAddress;
  865. public class UDPMulticastS {
  866. public static void main(String[] args) throws Exception {
  867. int mcPort = 12345;
  868. String mcIPStr = "230.1.1.1";
  869. DatagramSocket udpSocket = new DatagramSocket();
  870. InetAddress mcIPAddress = InetAddress.getByName(mcIPStr);
  871. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  872. String reply = infromuser.readLine();
  873. byte[] msg = reply.getBytes();
  874. DatagramPacket packet = new DatagramPacket(msg, msg.length);
  875. packet.setAddress(mcIPAddress);
  876. packet.setPort(mcPort);
  877. udpSocket.send(packet);
  878.  
  879. System.out.println("Sent a multicast message.");
  880. System.out.println("Exiting application");
  881. udpSocket.close();
  882. }
  883. }
  884.  
  885. --------------------------
  886.  
  887. Sethi UDP Multicast (Choose your own port)
  888.  
  889. server
  890.  
  891. import java.io.BufferedReader;
  892. import java.io.InputStreamReader;
  893. import java.net.DatagramPacket;
  894. import java.net.DatagramSocket;
  895. import java.net.InetAddress;
  896. import java.util.Scanner;
  897. public class UDPMulticastS {
  898. public static void main(String[] args) throws Exception {
  899.  
  900. int mcPort = 0;
  901. Scanner sc=new Scanner(System.in);
  902. mcPort=sc.nextInt();
  903. String mcIPStr = "230.1.1.1";
  904. DatagramSocket udpSocket = new DatagramSocket();
  905. InetAddress mcIPAddress = InetAddress.getByName(mcIPStr);
  906. BufferedReader infromuser=new BufferedReader(new InputStreamReader(System.in));
  907. String reply = infromuser.readLine();
  908. byte[] msg = reply.getBytes();
  909. DatagramPacket packet = new DatagramPacket(msg, msg.length);
  910. packet.setAddress(mcIPAddress);
  911. packet.setPort(mcPort);
  912. udpSocket.send(packet);
  913.  
  914. System.out.println("Sent a multicast message.");
  915. System.out.println("Exiting application");
  916. udpSocket.close();
  917. }
  918. }
  919.  
  920.  
  921. client
  922.  
  923. import java.net.DatagramPacket;
  924. import java.net.InetAddress;
  925. import java.net.MulticastSocket;
  926. import java.util.Scanner;
  927. public class UDPMulticastC {
  928. public static void main(String[] args) throws Exception {
  929. int mcPort = 0;
  930. Scanner sc=new Scanner(System.in);
  931. mcPort=sc.nextInt();
  932. String mcIPStr = "230.1.1.1";
  933. MulticastSocket mcSocket = null;
  934. InetAddress mcIPAddress = null;
  935. mcIPAddress = InetAddress.getByName(mcIPStr);
  936. mcSocket = new MulticastSocket(mcPort);
  937. System.out.println("Multicast Receiver running at:"
  938. + mcSocket.getLocalSocketAddress());
  939. mcSocket.joinGroup(mcIPAddress);
  940.  
  941. DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
  942.  
  943. System.out.println("Waiting for a multicast message...");
  944. mcSocket.receive(packet);
  945. String msg = new String(packet.getData(), packet.getOffset(),
  946. packet.getLength());
  947. System.out.println("[Multicast Receiver] Received:" + msg);
  948.  
  949. mcSocket.leaveGroup(mcIPAddress);
  950. mcSocket.close();
  951. }
  952. }
  953.  
  954. -----------------------------
  955.  
  956. Datagram Channel Time client/server (not working code)
  957.  
  958. import java.net.DatagramSocket;
  959. import java.net.InetSocketAddress;
  960. import java.net.SocketAddress;
  961. import java.nio.ByteBuffer;
  962. import java.nio.ByteOrder;
  963. import java.nio.channels.DatagramChannel;
  964. public class DCTimeC {
  965.  
  966. public static void main(String[] args) throws Exception {
  967.  
  968. DatagramChannel channel = DatagramChannel.open();
  969. // port 0 selects any available port
  970. SocketAddress address = new InetSocketAddress(0);
  971. DatagramSocket socket = channel.socket();
  972. socket.setSoTimeout(5000);
  973. socket.bind(address);
  974.  
  975. SocketAddress server = new InetSocketAddress("time.nist.gov", 37);
  976. ByteBuffer buffer = ByteBuffer.allocate(8192);
  977. // time protocol always uses big-endian order
  978. buffer.order(ByteOrder.BIG_ENDIAN);
  979. // Must put at least one byte of data in the buffer;
  980. // it doesn't matter what it is.
  981. buffer.put((byte) 65);
  982. buffer.flip();
  983.  
  984. channel.send(buffer, server);
  985.  
  986. buffer.clear();
  987. buffer.put((byte) 0).put((byte) 0).put((byte) 0).put((byte) 0);
  988. channel.receive(buffer);
  989. buffer.flip();
  990. long secondsSince1970 = buffer.getLong();
  991.  
  992. System.out.println(secondsSince1970);
  993. channel.close();
  994.  
  995. }
  996. }
  997.  
  998. import java.io.IOException;
  999. import java.net.DatagramSocket;
  1000. import java.net.InetSocketAddress;
  1001. import java.net.SocketAddress;
  1002. import java.nio.ByteBuffer;
  1003. import java.nio.ByteOrder;
  1004. import java.nio.channels.DatagramChannel;
  1005. public class DCTimeS {
  1006.  
  1007. public final static int DEFAULT_PORT = 37;
  1008.  
  1009. public static void main(String[] args) throws IOException {
  1010.  
  1011. int port = 37;
  1012.  
  1013. ByteBuffer in = ByteBuffer.allocate(8192);
  1014. ByteBuffer out = ByteBuffer.allocate(8);
  1015. out.order(ByteOrder.BIG_ENDIAN);
  1016. SocketAddress address = new InetSocketAddress(port);
  1017. DatagramChannel channel = DatagramChannel.open();
  1018. DatagramSocket socket = channel.socket();
  1019. socket.bind(address);
  1020. System.err.println("bound to " + address);
  1021. while (true) {
  1022. try {
  1023. in.clear();
  1024. SocketAddress client = channel.receive(in);
  1025. System.err.println(client);
  1026. long secondsSince1970 = System.currentTimeMillis();
  1027. out.clear();
  1028. out.putLong(secondsSince1970);
  1029. out.flip();
  1030.  
  1031. out.position(4);
  1032. channel.send(out, client);
  1033. } catch (Exception ex) {
  1034. System.err.println(ex);
  1035. }
  1036. }
  1037. }
  1038. }
  1039.  
  1040. ---------------------------------
  1041.  
  1042. ============================================================
  1043. ==========================================
  1044. ============================================================
  1045. ==========================================
  1046. ============================================================
  1047.  
  1048.  
  1049.  
  1050.  
  1051. 1. Write a Java program to display the server’s date and time details at the client end.
  1052.  
  1053. Client:
  1054. import java.io.*;
  1055. import java.net.*;
  1056. class dateclient
  1057. {
  1058. public static void main(String args[]) throws Exception
  1059. {
  1060. Socket soc=new Socket(InetAddress.getLocalHost(),5217);
  1061. BufferedReader in=new BufferedReader(new InputStreamReader( soc.getInputStream() ) );
  1062. System.out.println(in.readLine());
  1063. }
  1064. }
  1065.  
  1066. Server:
  1067. import java.net.*;
  1068. import java.io.*;
  1069. import java.util.*;
  1070. class dateserver
  1071. {
  1072. public static void main(String args[]) throws Exception
  1073. {
  1074. ServerSocket s=new ServerSocket(5217);
  1075. while(true)
  1076. {
  1077. System.out.println("Waiting For Connection ...");
  1078. Socket soc=s.accept();
  1079. DataOutputStream out=new DataOutputStream(soc.getOutputStream());
  1080. out.writeBytes("Server Date" + (new Date()).toString() + "\n");
  1081. out.close();
  1082. soc.close();
  1083. }
  1084. }
  1085. }
  1086.  
  1087.  
  1088.  
  1089. 2. Write a Java program to display the client’s address at the server end.
  1090.  
  1091. CODE:
  1092. Server:
  1093. import java.io.BufferedReader;
  1094. import java.io.IOException;
  1095. import java.io.InputStream;
  1096. import java.io.InputStreamReader;
  1097. import java.io.OutputStream;
  1098. import java.io.OutputStreamWriter;
  1099. import java.io.PrintWriter;
  1100. import java.net.ServerSocket;
  1101. import java.net.Socket;
  1102.  
  1103.  
  1104. public class gs{
  1105.  
  1106. public static void main(String[] args) throws Exception {
  1107. ServerSocket sersock=new ServerSocket(3000);
  1108. System.out.println("Server retreiving hostname...");
  1109. Socket sock=sersock.accept();
  1110.  
  1111. BufferedReader keyread=new BufferedReader(new InputStreamReader(System.in));
  1112.  
  1113. OutputStream ostream=sock.getOutputStream();
  1114. PrintWriter pwrite=new PrintWriter(ostream,true);
  1115.  
  1116. InputStream istream=sock.getInputStream();
  1117. BufferedReader receiveread= new BufferedReader(new InputStreamReader(istream));
  1118.  
  1119. String Sendmsg,receivemsg;
  1120. while(true)
  1121. {
  1122. if((receivemsg=receiveread.readLine())!=null)
  1123. {
  1124. System.out.println(receivemsg);
  1125. }
  1126. Sendmsg=keyread.readLine();
  1127. pwrite.println(Sendmsg);
  1128. pwrite.flush();
  1129. }
  1130.  
  1131.  
  1132. }
  1133. }
  1134.  
  1135. Client:
  1136. import java.io.BufferedReader;
  1137. import java.io.IOException;
  1138. import java.io.InputStream;
  1139. import java.io.InputStreamReader;
  1140. import java.io.OutputStream;
  1141. import java.io.OutputStreamWriter;
  1142. import java.io.PrintWriter;
  1143. import java.net.InetAddress;
  1144. import java.net.ServerSocket;
  1145. import java.net.Socket;
  1146.  
  1147.  
  1148. public class gc{
  1149.  
  1150. public static void main(String[] args) throws Exception {
  1151. InetAddress addr= InetAddress.getLocalHost();
  1152. //InetAddress add= InetAddress.getHostName(addr);
  1153. Socket sock=new Socket(addr,3000);
  1154.  
  1155. //BufferedReader keyread=new BufferedReader(new InputStreamReader(System.in));
  1156.  
  1157. OutputStream ostream=sock.getOutputStream();
  1158. PrintWriter pwrite=new PrintWriter(ostream,true);
  1159.  
  1160. InputStream istream=sock.getInputStream();
  1161. BufferedReader receiveread= new BufferedReader(new InputStreamReader(istream));
  1162. System.out.println("Client is ready");
  1163. String Sendmsg,receivemsg;
  1164. pwrite.println(addr.getHostAddress());
  1165.  
  1166. }
  1167. }
  1168.  
  1169.  
  1170. 3.Implement echo server and client in java using UDP sockets.
  1171.  
  1172. import java.io.*;
  1173. import java.net.*;
  1174.  
  1175. public class EServer
  1176. {
  1177. public static void main(String[] args) throws IOException
  1178. {
  1179.  
  1180. ServerSocket S = new ServerSocket(3000);
  1181.  
  1182. while(true)
  1183. {
  1184. Socket Client = S.accept();
  1185.  
  1186. InputStream in = Client.getInputStream();
  1187.  
  1188. DataInputStream Dis = new DataInputStream(in);
  1189.  
  1190. System.out.println(Dis.readUTF());
  1191.  
  1192. Client = new Socket("localhost",4000);
  1193.  
  1194. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  1195.  
  1196. String Str = buff.readLine();
  1197.  
  1198. OutputStream out = Client.getOutputStream();
  1199.  
  1200. DataOutputStream Dos = new DataOutputStream(out);
  1201.  
  1202. Str = "Server Says :: " + Str;
  1203.  
  1204. Dos.writeUTF(Str);
  1205.  
  1206. Client.close();
  1207.  
  1208. }
  1209.  
  1210. }
  1211.  
  1212. }
  1213.  
  1214.  
  1215.  
  1216. //client
  1217. import java.io.*;
  1218. import java.net.*;
  1219. import java.util.*;
  1220.  
  1221. public class EClient
  1222. {
  1223. public static void main(String[] args) throws IOException
  1224. {
  1225. Socket C = new Socket("localhost",3000);
  1226. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  1227. String Str = buff.readLine();
  1228.  
  1229. OutputStream out = C.getOutputStream();
  1230.  
  1231. DataOutputStream Dos = new DataOutputStream(out);
  1232.  
  1233. Dos.writeUTF("Client Say :: " + Str);
  1234. Dos.flush();
  1235.  
  1236. ServerSocket S = new ServerSocket(4000);
  1237. Socket Client = S.accept();
  1238. InputStream in = Client.getInputStream();
  1239. DataInputStream Dis = new DataInputStream(in);
  1240. System.out.println(Dis.readUTF());
  1241. Client.close();
  1242. }
  1243. }
  1244.  
  1245.  
  1246. 4. Write a Java program to develop a simple Chat application.
  1247.  
  1248. Server:
  1249. import java.io.*;
  1250. import java.net.*;
  1251. public class chatserver
  1252. {
  1253. public static void main(String[] args) throws Exception
  1254. {
  1255. ServerSocket sersock = new ServerSocket(3000);
  1256. Socket sock = sersock.accept( );
  1257. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1258.  
  1259. OutputStream ostream = sock.getOutputStream();
  1260. PrintWriter pwrite = new PrintWriter(ostream, true);
  1261. InputStream istream = sock.getInputStream();
  1262. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1263. String receiveMessage, sendMessage;
  1264. while(true)
  1265. {
  1266. if((receiveMessage = receiveRead.readLine()) != null)
  1267. {
  1268. System.out.println(receiveMessage);
  1269. }
  1270. sendMessage = keyRead.readLine();
  1271. pwrite.println(sendMessage);
  1272. pwrite.flush();
  1273. }
  1274. }
  1275. }
  1276.  
  1277. Client:
  1278. import java.io.*;
  1279. import java.net.*;
  1280. public class chatclient
  1281. {
  1282. public static void main(String[] args) throws Exception
  1283. {
  1284. Socket sock = new Socket("127.0.0.1", 3000);
  1285. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1286.  
  1287. OutputStream ostream = sock.getOutputStream();
  1288. PrintWriter pwrite = new PrintWriter(ostream, true);
  1289. InputStream istream = sock.getInputStream();
  1290. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1291. System.out.println("Start the chitchat, type and press Enter key");
  1292. String receiveMessage, sendMessage;
  1293. while(true)
  1294. {
  1295. sendMessage = keyRead.readLine();
  1296. pwrite.println(sendMessage);
  1297. pwrite.flush();
  1298. if((receiveMessage = receiveRead.readLine()) != null)
  1299. {
  1300. System.out.println(receiveMessage);
  1301. }
  1302. }
  1303. }
  1304. }
  1305.  
  1306.  
  1307. 5. The message entered in the client is sent to the server and the server encodes the message and returns it to the client. Encoding is done by replacing a character by the character next to it i.e. a as b, b as c …z as a. This process is done using the TCP/IP protocol. Write a Java program for the above.
  1308.  
  1309. Server:
  1310. import java.io.*;
  1311. import java.net.*;
  1312. public class GossipServer
  1313. {
  1314. public static void main(String[] args) throws Exception
  1315. {
  1316. ServerSocket sersock = new ServerSocket(3000);
  1317. System.out.println("Server retreiving data....");
  1318. Socket sock = sersock.accept( );
  1319. // reading from keyboard (keyRead object)
  1320. // sending to client (pwrite object)
  1321. OutputStream ostream = sock.getOutputStream();
  1322. PrintWriter pwrite = new PrintWriter(ostream, true);
  1323.  
  1324. // receiving from server ( receiveRead object)
  1325. InputStream istream = sock.getInputStream();
  1326. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1327.  
  1328. String receiveMessage, sendMessage;
  1329. while(true)
  1330. {
  1331. if((receiveMessage = receiveRead.readLine()) != null)
  1332. {
  1333.  
  1334. System.out.println(receiveMessage);
  1335. char r[]=new char[12];
  1336. r=receiveMessage.toCharArray();
  1337. for(int i=0;i<receiveMessage.length();i++)
  1338. {
  1339. r[i]++;
  1340. }
  1341. pwrite.println(r);
  1342. pwrite.flush();
  1343. }
  1344. }
  1345. }
  1346. }
  1347.  
  1348. Client:
  1349. import java.io.*;
  1350. import java.net.*;
  1351. public class GossipClient
  1352. {
  1353. public static void main(String[] args) throws Exception
  1354. {
  1355. InetAddress addr = InetAddress.getLocalHost();
  1356. Socket sock = new Socket(addr, 3000);
  1357.  
  1358. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1359.  
  1360. OutputStream ostream = sock.getOutputStream();
  1361. PrintWriter pwrite = new PrintWriter(ostream, true);
  1362.  
  1363.  
  1364. InputStream istream = sock.getInputStream();
  1365. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1366.  
  1367. System.out.println("Start the chitchat, type and press Enter key");
  1368.  
  1369. String receiveMessage, sendMessage;
  1370. while(true)
  1371. {
  1372. sendMessage = keyRead.readLine();
  1373. pwrite.println(sendMessage);
  1374. pwrite.flush();
  1375. if((receiveMessage = receiveRead.readLine()) != null)
  1376. {
  1377. System.out.println(receiveMessage);
  1378. }
  1379. }
  1380. }
  1381. }
  1382.  
  1383.  
  1384. 6. The message entered in the client is sent to the server and the server encodes the message and returns it to the client. Encoding is done by replacing a character by the character next to it i.e. a as b, b as c …z as a. This process is done using UDP. Write a Java program for the above.
  1385.  
  1386. Server:
  1387. public class udpens {
  1388. public static void main(String args[]) throws Exception
  1389. {
  1390. DatagramSocket serverSocket = new DatagramSocket(6788);
  1391.  
  1392.  
  1393. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1394. //String reply;
  1395. while(true)
  1396. {
  1397. byte[] receiveData = new byte[10];
  1398. byte[] sendData = new byte[10];
  1399. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1400. serverSocket.receive(receivePacket);
  1401. String msg = new String(receivePacket.getData());
  1402. System.out.println("Message Received: " + msg);
  1403.  
  1404. InetAddress IPAddress = receivePacket.getAddress();
  1405. int port = receivePacket.getPort();
  1406.  
  1407. //System.out.println("Enter reply: ");
  1408. //reply = inFromUser.readLine();
  1409. char reply[]=new char[30];
  1410. reply=msg.toCharArray();
  1411. for(int i=0;i<msg.length();i++)
  1412. {
  1413. reply[i]++;
  1414. }
  1415.  
  1416. sendData = new String(reply).getBytes("UTF-8");
  1417. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  1418. serverSocket.send(sendPacket);
  1419. }
  1420.  
  1421. }
  1422. }
  1423. Client:
  1424. import java.io.*;
  1425. import java.net.*;
  1426.  
  1427. public class udpen {
  1428. public static void main(String args[]) throws Exception
  1429. {
  1430. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1431.  
  1432. InetAddress IPAddress = InetAddress.getByName("localhost");
  1433.  
  1434. String msg = "";
  1435. while(true)
  1436. {
  1437. byte[] sendData = new byte[10];
  1438. byte[] receiveData = new byte[10];
  1439. DatagramSocket clientSocket = new DatagramSocket();
  1440. System.out.println("Send a Message: ");
  1441. msg = inFromUser.readLine();
  1442. if (msg.equals("bye"))
  1443. {
  1444. System.out.println("Exiting Chat!");
  1445. clientSocket.close();
  1446. break;
  1447. }
  1448. sendData = msg.getBytes();
  1449.  
  1450. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6788);
  1451. clientSocket.send(sendPacket);
  1452.  
  1453. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1454. clientSocket.receive(receivePacket);
  1455.  
  1456. String reply = new String(receivePacket.getData());
  1457. System.out.println("Reply: " + reply);
  1458. clientSocket.close();
  1459. }
  1460. }
  1461. }
  1462.  
  1463.  
  1464. 7. Write a Java program to display the name and address of the computer that we are currently working on.
  1465. CODE:
  1466. import java.net.*;
  1467. public class ques7 {
  1468. public static void main (String[] args) {
  1469. try {
  1470. InetAddress address = InetAddress.getLocalHost();
  1471. System.out.println(address);
  1472. }
  1473. catch (UnknownHostException ex) {
  1474. System.out.println("Could not find this computer's address.");
  1475. }
  1476. }
  1477. }
  1478.  
  1479.  
  1480.  
  1481. 8. The client accepts IP header information in hexadecimal and sends to the server. The server receives those details and examines its checksum field. Write a Java program for this scenario.
  1482.  
  1483. import java.net.*;
  1484.  
  1485. import java.util.*;
  1486.  
  1487. public class demo
  1488. {
  1489. public long calculateChecksum(byte[] buf) {
  1490. int length = buf.length;
  1491. int i = 0;
  1492.  
  1493. long sum = 0;
  1494. long data;
  1495.  
  1496. while (length > 1) {
  1497.  
  1498. data = (((buf[i] << 8) & 0xFF00) | ((buf[i + 1]) & 0xFF));
  1499. sum += data;
  1500. // 1's complement carry bit correction in 16-bits (detecting sign extension)
  1501. if ((sum & 0xFFFF0000) > 0) {
  1502. sum = sum & 0xFFFF;
  1503. sum += 1;
  1504. }
  1505.  
  1506. i += 2;
  1507. length -= 2;
  1508. }
  1509.  
  1510. // Handle remaining byte in odd length buffers
  1511. if (length > 0) {
  1512. sum += (buf[i] << 8 & 0xFF00);
  1513. // 1's complement carry bit correction in 16-bits (detecting sign extension)
  1514. if ((sum & 0xFFFF0000) > 0) {
  1515. sum = sum & 0xFFFF;
  1516. sum += 1;
  1517. }
  1518. }
  1519.  
  1520. // Final 1's complement value correction to 16-bits
  1521. sum = ~sum;
  1522. sum = sum & 0xFFFF;
  1523. return sum;
  1524.  
  1525.  
  1526. --------
  1527.  
  1528. GOssip Client:
  1529.  
  1530.  
  1531. import java.io.*;
  1532. import java.net.*;
  1533. public class GossipClient
  1534. {
  1535. public static void main(String[] args) throws Exception
  1536. {
  1537. InetAddress addr=InetAddress.getLocalHost();
  1538. Socket sock = new Socket(addr, 3000);
  1539. // reading from keyboard (keyRead object)
  1540. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1541. // sending to client (pwrite object)
  1542. OutputStream ostream = sock.getOutputStream();
  1543. PrintWriter pwrite = new PrintWriter(ostream, true);
  1544.  
  1545. // receiving from server ( receiveRead object)
  1546. InputStream istream = sock.getInputStream();
  1547. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1548.  
  1549.  
  1550.  
  1551.  
  1552. System.out.println("Start the chitchat, type and press Enter key");
  1553.  
  1554. String receiveMessage;
  1555. String sendMessage;
  1556.  
  1557. String version;
  1558. byte[] b = addr.getAddress();
  1559. if(addr instanceof InetAddress)
  1560. {
  1561. version="IPV4";
  1562. }else
  1563. {
  1564. version="IPV6";
  1565. }
  1566.  
  1567. long sum= calculateChecksum(b);
  1568.  
  1569. System.out.println("Version: "+version);
  1570. System.out.println("Checksum: "+sum);
  1571.  
  1572. sendMessage = version;
  1573. pwrite.println(sendMessage+"\n"+sum);
  1574. // pwrite.println(sum); // sending to server
  1575. pwrite.flush(); // flush the data
  1576. if((receiveMessage = receiveRead.readLine()) != null) //receive from server
  1577. {
  1578. System.out.println(receiveMessage); // displaying at DOS prompt
  1579. }
  1580. }
  1581.  
  1582.  
  1583. private static long calculateChecksum(byte[] buf) {
  1584.  
  1585. int length = buf.length;
  1586. int i = 0;
  1587. long sum = 0;
  1588. long data;
  1589. while (length > 1) {
  1590. data = (((buf[i] << 8) & 0xFF00) | ((buf[i + 1]) & 0xFF));
  1591. sum += data;
  1592. // 1's complement carry bit correction in 16-bits (detecting sign extension)
  1593. if ((sum & 0xFFFF0000) > 0) {
  1594. sum = sum & 0xFFFF;
  1595. sum += 1;
  1596. }
  1597. i += 2;
  1598. length -= 2;
  1599. }
  1600. // Handle remaining byte in odd length buffers
  1601. if (length > 0) {
  1602. sum += (buf[i] << 8 & 0xFF00);
  1603. // 1's complement carry bit correction in 16-bits (detecting sign extension)
  1604. if ((sum & 0xFFFF0000) > 0) {
  1605. sum = sum & 0xFFFF;
  1606. sum += 1;
  1607. }
  1608. }
  1609. //Final 1's complement value correction to 16-bits
  1610. sum = ~sum;
  1611. sum = sum & 0xFFFF;
  1612. return sum;
  1613. }
  1614.  
  1615. }
  1616.  
  1617.  
  1618.  
  1619.  
  1620. Gossip Server:
  1621.  
  1622. import java.io.*;
  1623. import java.io.BufferedReader;
  1624. import java.io.InputStream;
  1625. import java.io.InputStreamReader;
  1626. import java.io.OutputStream;
  1627. import java.io.PrintWriter;
  1628. import java.net.*;
  1629. public class GossipServer
  1630. {
  1631. public static void main(String[] args) throws Exception
  1632. {
  1633. ServerSocket sersock = new ServerSocket(3000);
  1634. Socket sock = sersock.accept( );
  1635. // reading from keyboard (keyRead object)
  1636. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1637. // sending to client (pwrite object)
  1638. OutputStream ostream = sock.getOutputStream();
  1639. PrintWriter pwrite = new PrintWriter(ostream, true);
  1640.  
  1641. // receiving from server ( receiveRead object)
  1642. InputStream istream = sock.getInputStream();
  1643. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1644.  
  1645. String receiveMessage, sendMessage;
  1646. while(true)
  1647. {
  1648. if((receiveMessage = receiveRead.readLine()) != null)
  1649. {
  1650. System.out.println(receiveMessage);
  1651. }
  1652. /*sendMessage = keyRead.readLine();
  1653. pwrite.println(sendMessage);
  1654. pwrite.flush();*/
  1655. }
  1656. }
  1657. }
  1658.  
  1659.  
  1660. --------
  1661.  
  1662.  
  1663.  
  1664. 9. Using threading concepts, write a Java program to create a daemon process.
  1665.  
  1666. CODE:
  1667. public class TestDaemonThread extends Thread{
  1668. public void run(){
  1669. if(Thread.currentThread().isDaemon()){
  1670. System.out.println("daemon thread work");
  1671. }
  1672. else{
  1673. System.out.println("user thread work");
  1674. }
  1675. }
  1676. public static void main(String[] args){
  1677. TestDaemonThread t1=new TestDaemonThread();
  1678. TestDaemonThread t2=new TestDaemonThread();
  1679. TestDaemonThread t3=new TestDaemonThread();
  1680.  
  1681. t1.setDaemon(true);
  1682. t2.setDaemon(true);
  1683. t1.start();
  1684. t2.start();
  1685. t3.start();
  1686. }
  1687. }
  1688.  
  1689.  
  1690. 10. A server should run for 10 secs and generate numbers continuously. The client connecting to it should read data and find out the sum of the data thus read. Write a Java program to implement this scenario.
  1691.  
  1692. Server:
  1693. import java.net.*;
  1694. import java.io.*;
  1695. import java.util.*;
  1696. public class RandomServer
  1697. {
  1698. public static void main(String args[]) throws Exception
  1699. {
  1700. ServerSocket s=new ServerSocket(5217);
  1701. Date d = new Date();
  1702. Random r = new Random();
  1703. Socket soc=s.accept();
  1704. int n=1;
  1705. OutputStream out = soc.getOutputStream();
  1706. PrintWriter pr=new PrintWriter(out);
  1707. while(soc.isConnected() && n != -1)
  1708. {
  1709. long t= System.currentTimeMillis();
  1710. long end = t+10000;
  1711. //System.out.println("hello");
  1712. while((System.currentTimeMillis() < end))
  1713.  
  1714. {
  1715. int x=15;
  1716. n = r.nextInt(10);
  1717. pr.println(n);
  1718. pr.flush();
  1719. }
  1720. pr.flush();
  1721. n=-1;
  1722. pr.println(n);
  1723. out.close();
  1724. soc.close();
  1725. }
  1726. }
  1727. }
  1728.  
  1729. Client:
  1730. import java.io.*;
  1731. import java.net.*;
  1732. import java.util.*;
  1733.  
  1734. public class RandomClient
  1735. {
  1736. public static void main(String args[]) throws Exception
  1737. {
  1738. Socket soc=new Socket(InetAddress.getLocalHost(),5217);
  1739. int sum = 0;
  1740. BufferedReader in=new BufferedReader(new InputStreamReader(soc.getInputStream()));
  1741. int count =0;
  1742. int n=1;
  1743. while(n!=-1)
  1744. {
  1745. try{
  1746. n = Integer.parseInt(in.readLine());
  1747. System.out.println(n);
  1748. sum = sum + n;
  1749. count ++;
  1750. }catch(Exception e)
  1751. {
  1752. n=-1;
  1753. }
  1754. }
  1755. soc.close();
  1756. System.out.println("Sum " + sum);
  1757. }
  1758. }
  1759.  
  1760.  
  1761.  
  1762.  
  1763. 11. DAEMON THREAD
  1764.  
  1765. public class TestDaemonThread extends Thread{
  1766. public void run(){
  1767. if(Thread.currentThread().isDaemon()){//checking for daemon thread
  1768. System.out.println("daemon thread work");
  1769. }
  1770. else{
  1771. System.out.println("user thread work");
  1772. }
  1773. }
  1774. public static void main(String[] args){
  1775. TestDaemonThread t1=new TestDaemonThread();//creating thread
  1776. TestDaemonThread t2=new TestDaemonThread();
  1777. TestDaemonThread t3=new TestDaemonThread();
  1778.  
  1779. t1.setDaemon(true);//now t1 is daemon thread
  1780. //t2.setDaemon(true);
  1781.  
  1782.  
  1783. t1.start();//starting threads
  1784. try{
  1785. t1.join();
  1786. }
  1787. catch(Exception e){}
  1788.  
  1789. t2.start();
  1790. t3.start();
  1791. }
  1792. }
  1793.  
  1794.  
  1795. 12. TCP CHAT AND ECHO DATE
  1796.  
  1797. Server:
  1798.  
  1799. import java.io.*;
  1800. import java.net.*;
  1801. import java.util.Date;
  1802. import java.io.*;
  1803. public class server
  1804. {
  1805. public static void main(String[] args) throws Exception
  1806. {
  1807. ServerSocket sersock = new ServerSocket(3000);
  1808. System.out.println("Server ready for chatting");
  1809. Socket sock = sersock.accept( );
  1810. //BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1811. OutputStream ostream = sock.getOutputStream();
  1812. PrintWriter pwrite = new PrintWriter(ostream, true);
  1813. InputStream istream = sock.getInputStream();
  1814. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1815. DataOutputStream ostreams=new DataOutputStream(ostream);
  1816.  
  1817.  
  1818. String receiveMessage, sendMessage;
  1819. while(true)
  1820. {
  1821. if((receiveMessage = receiveRead.readLine()) != null)
  1822. {
  1823. System.out.println(receiveMessage);
  1824. //if(receiveMessage.equals("date"))
  1825. ostreams.writeBytes("Server Date: " + (new Date()).toString() + "\n");
  1826. }
  1827. // sendMessage = keyRead.readLine();
  1828. pwrite.println(receiveMessage);
  1829. pwrite.flush();
  1830. }
  1831. }
  1832. }
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839. ===================================================================
  1840. ===================================================================
  1841. ===================================================================
  1842.  
  1843.  
  1844. UDP CHAT CLIENT
  1845.  
  1846. import java.io.*;
  1847. import java.net.*;
  1848.  
  1849. public class UDPChatClient {
  1850. public static void main(String args[]) throws Exception
  1851. {
  1852. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1853.  
  1854. InetAddress IPAddress = InetAddress.getByName("localhost");
  1855.  
  1856. String msg = "";
  1857. while(true)
  1858. {
  1859. byte[] sendData = new byte[1024];
  1860. byte[] receiveData = new byte[1024];
  1861. DatagramSocket clientSocket = new DatagramSocket();
  1862. System.out.printf("Send a Message: ");
  1863. msg = inFromUser.readLine();
  1864. if (msg.equals("bye"))
  1865. {
  1866. System.out.printf("Exiting Chat!");
  1867. clientSocket.close();
  1868. break;
  1869. }
  1870. sendData = msg.getBytes();
  1871.  
  1872. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  1873. clientSocket.send(sendPacket);
  1874.  
  1875. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1876. clientSocket.receive(receivePacket);
  1877.  
  1878. String reply = new String(receivePacket.getData());
  1879. System.out.println("Reply: " + reply);
  1880. clientSocket.close();
  1881. }
  1882. }
  1883. }
  1884.  
  1885.  
  1886.  
  1887. UDP CHAT SERVER
  1888.  
  1889. import java.io.*;
  1890. import java.net.*;
  1891.  
  1892. public class UDPChatServer {
  1893. public static void main(String args[]) throws Exception
  1894. {
  1895. DatagramSocket serverSocket = new DatagramSocket(6789);
  1896.  
  1897.  
  1898. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  1899. String reply;
  1900. while(true)
  1901. {
  1902. byte[] receiveData = new byte[1024];
  1903. byte[] sendData = new byte[1024];
  1904. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  1905. serverSocket.receive(receivePacket);
  1906. String msg = new String(receivePacket.getData());
  1907. System.out.println("Message Received: " + msg);
  1908.  
  1909. InetAddress IPAddress = receivePacket.getAddress();
  1910. int port = receivePacket.getPort();
  1911.  
  1912. System.out.printf("Enter reply: ");
  1913. reply = inFromUser.readLine();
  1914. if (reply.equals("bye"))
  1915. {
  1916. System.out.printf("Exiting Chat!");
  1917. serverSocket.close();
  1918. break;
  1919. }
  1920. sendData = reply.getBytes();
  1921. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  1922. serverSocket.send(sendPacket);
  1923. }
  1924.  
  1925. }
  1926. }
  1927.  
  1928.  
  1929.  
  1930.  
  1931. TCP CHAT Server
  1932.  
  1933. import java.io.*;
  1934. import java.io.BufferedReader;
  1935. import java.io.InputStream;
  1936. import java.io.InputStreamReader;
  1937. import java.io.OutputStream;
  1938. import java.io.PrintWriter;
  1939. import java.net.*;
  1940. public class GossipServer
  1941. {
  1942. public static void main(String[] args) throws Exception
  1943. {
  1944. ServerSocket sersock = new ServerSocket(3000);
  1945. Socket sock = sersock.accept( );
  1946. // reading from keyboard (keyRead object)
  1947. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1948. // sending to client (pwrite object)
  1949. OutputStream ostream = sock.getOutputStream();
  1950. PrintWriter pwrite = new PrintWriter(ostream, true);
  1951.  
  1952. // receiving from server ( receiveRead object)
  1953. InputStream istream = sock.getInputStream();
  1954. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1955.  
  1956. String receiveMessage, sendMessage;
  1957. while(true)
  1958. {
  1959. if((receiveMessage = receiveRead.readLine()) != null)
  1960. {
  1961. System.out.println(receiveMessage);
  1962. }
  1963. sendMessage = keyRead.readLine();
  1964. pwrite.println(sendMessage);
  1965. pwrite.flush();
  1966. }
  1967. }
  1968. }
  1969.  
  1970.  
  1971. TCP CHAT CLIENT
  1972.  
  1973. import java.io.*;
  1974. import java.net.*;
  1975. public class GossipClient
  1976. {
  1977. public static void main(String[] args) throws Exception
  1978. {
  1979. Socket sock = new Socket("127.0.0.1", 3000);
  1980. // reading from keyboard (keyRead object)
  1981. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  1982. // sending to client (pwrite object)
  1983. OutputStream ostream = sock.getOutputStream();
  1984. PrintWriter pwrite = new PrintWriter(ostream, true);
  1985.  
  1986. // receiving from server ( receiveRead object)
  1987. InputStream istream = sock.getInputStream();
  1988. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  1989.  
  1990. System.out.println("Start the chitchat, type and press Enter key");
  1991.  
  1992. String receiveMessage, sendMessage;
  1993. while(true)
  1994. {
  1995. sendMessage = keyRead.readLine(); // keyboard reading
  1996. pwrite.println(sendMessage); // sending to server
  1997. pwrite.flush(); // flush the data
  1998. if((receiveMessage = receiveRead.readLine()) != null) //receive from server
  1999. {
  2000. System.out.println(receiveMessage); // displaying at DOS prompt
  2001. }
  2002. }
  2003. }
  2004. }
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010. Q2 Write a Java program to run the basic networking commands.
  2011.  
  2012. import java.net.*;
  2013. import java.util.*;
  2014. import java.io.*;
  2015. public class command
  2016. {
  2017. public static void main(String args[])
  2018. throws Exception
  2019. {
  2020. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  2021. System.out.println("enter command:");
  2022. String s=br.readLine();
  2023. Process p=Runtime.getRuntime().exec(s);
  2024. p.waitFor();
  2025. BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
  2026. String line=reader.readLine();
  2027. while(line!=null)
  2028. {
  2029. System.out.println(line);
  2030. line=reader.readLine();0
  2031. }
  2032. System.out.println("done!");
  2033.  
  2034. }
  2035. }
  2036.  
  2037.  
  2038. Q3 Write a program to display the name of the computer and its IP address that you are currently working on
  2039.  
  2040. import java.net.*;
  2041. import java.io.*;
  2042. public class cm
  2043. {
  2044. public static void main(String args[])
  2045. {
  2046. try
  2047. {
  2048. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  2049. System.out.println("Enter the url which you want to find ip address and host name");
  2050. String str=br.readLine();
  2051. InetAddress add=InetAddress.getByName(str);
  2052. System.out.println("Local Host Information");
  2053. System.out.println("Host Name:"+add.getHostName());
  2054. System.out.println("IP address:"+add.getHostAddress());
  2055. }
  2056. catch(Exception e)
  2057. {
  2058. System.out.println(e);
  2059. }
  2060. }
  2061.  
  2062.  
  2063.  
  2064. Q4 Write a program to print the IP address of “www.google.com” all IP addresses of “www.microsoft.com”.
  2065.  
  2066.  
  2067.  
  2068.  
  2069. import java.net.*;
  2070. import java.io.*;
  2071. public class ip
  2072. {
  2073. public static void main(String args[])
  2074. throws UnknownHostException {
  2075. System.out.println(InetAddress.getByName("www.google.com"));
  2076. InetAddress[] inetAddresses=InetAddress.getAllByName("www.microsoft.com");
  2077. for(InetAddress ipAddress:inetAddresses)
  2078. {
  2079. System.out.println(ipAddress);
  2080. }
  2081. }
  2082. }
  2083.  
  2084.  
  2085.  
  2086. Q5 Write a program to print all Network Interfaces of “localhost”.
  2087.  
  2088. import java.net.*;
  2089. import java.util.*;
  2090. import java.io.*;
  2091. public class ni
  2092. {
  2093. public static void main(String args[]) throws UnknownHostException,SocketException
  2094. {
  2095.  
  2096. Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
  2097. if(interfaces==null)
  2098. {
  2099. System.out.println("No network interfaces found");
  2100. }
  2101. else
  2102. {
  2103. for(NetworkInterface netIf:Collections.list(interfaces))
  2104. {
  2105. System.out.println("Display Name:" + netIf.getDisplayName());
  2106. System.out.println("Name : " + netIf.getName());
  2107. System.out.println();
  2108. }
  2109. }
  2110. }
  2111. }
  2112.  
  2113.  
  2114. Q6 Implement the simple version of “nslookup” utility
  2115.  
  2116. import java.net.*;
  2117. import java.io.*;
  2118. import java.util.*;
  2119. public class nslook
  2120. {
  2121. public static void main(String args[]) throws Exception
  2122. {
  2123. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  2124. System.out.println("Enter the hostname");
  2125. String cmd=br.readLine();
  2126. Process p=Runtime.getRuntime().exec("nslookup "+cmd);
  2127. p.waitFor();
  2128. BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
  2129. String line=reader.readLine();
  2130. while(line!=null)
  2131. {
  2132. System.out.println(line);
  2133. line=reader.readLine();
  2134. }
  2135. System.out.println("Done");
  2136. }
  2137. }
  2138.  
  2139.  
  2140. Q7 Write a program to download the contents associated with a HTTP URL and save it in a file.
  2141.  
  2142.  
  2143.  
  2144. import java.io.*;
  2145. import java.net.*;
  2146. public class GetJavaUrl
  2147. {
  2148. public static void main(String[] args)
  2149. {
  2150. URL u;
  2151. InputStream is=null;
  2152. DataInputStream dis;
  2153. String s;
  2154. try
  2155. {
  2156. u=new URL("ftp://10.30.2.53");
  2157. is=u.openStream();
  2158. dis = new DataInputStream(new BufferedInputStream(is));
  2159. while((s=dis.readLine())!=null)
  2160. {
  2161. System.out.println(s);
  2162. }
  2163. }
  2164. catch(MalformedURLException mue)
  2165. {
  2166. System.out.println("404: Error NOT FOUND");
  2167. mue.printStackTrace();
  2168. System.exit(1);
  2169. }
  2170. catch(IOException ioe)
  2171. {
  2172. System.out.println("404: Error NOT FOUND");
  2173. ioe.printStackTrace();
  2174. System.exit(1);
  2175. }
  2176. finally
  2177. {
  2178. try
  2179. {
  2180. is.close();
  2181. }
  2182. catch(IOException ioe)
  2183. {
  2184. }
  2185. }
  2186. }
  2187.  
  2188. }
  2189.  
  2190.  
  2191.  
  2192.  
  2193. cyclesheet2
  2194.  
  2195.  
  2196. Q1 Write a program to list all ports hosting a TCP server in a specified host and identify available servers in well-known ports?
  2197.  
  2198.  
  2199. import java.net.Socket;
  2200. import java.net.*;
  2201.  
  2202. public class A {
  2203. public static void main(String[] args) throws Exception{
  2204. try {
  2205. for(int i=0;i<1024;i++)
  2206. {
  2207. Socket s=new Socket("localhost",i);
  2208. System.out.println(i);
  2209. }
  2210. }
  2211. catch(Exception e)
  2212. {
  2213. System.out.println(e);
  2214. }
  2215. }
  2216. }
  2217.  
  2218.  
  2219.  
  2220. Q2 Implement echo server and client in java using TCP sockets.
  2221.  
  2222. server
  2223.  
  2224. import java.io.*;
  2225.  
  2226. import java.net.*;
  2227.  
  2228.  
  2229.  
  2230. public class EchoServer
  2231.  
  2232. {
  2233.  
  2234. public static void main(String args[]) throws Exception
  2235.  
  2236. {
  2237.  
  2238. try
  2239.  
  2240. {
  2241.  
  2242. int Port;
  2243.  
  2244. BufferedReader Buf =new BufferedReader(new
  2245.  
  2246. InputStreamReader(System.in));
  2247.  
  2248. System.out.print(" Enter the Port Address : " );
  2249.  
  2250. Port=Integer.parseInt(Buf.readLine());
  2251.  
  2252. ServerSocket sok =new ServerSocket(Port);
  2253.  
  2254. System.out.println(" Server is Ready To Receive a Message. ");
  2255.  
  2256. System.out.println(" Waiting ..... ");
  2257.  
  2258. Socket so=sok.accept();
  2259.  
  2260. if(so.isConnected()==true)
  2261.  
  2262. System.out.println(" Client Socket is Connected Succecfully. ");
  2263.  
  2264. InputStream in=so.getInputStream();
  2265.  
  2266. OutputStream ou=so.getOutputStream();
  2267.  
  2268. PrintWriter pr=new PrintWriter(ou);
  2269.  
  2270. BufferedReader buf=new BufferedReader(new
  2271.  
  2272. InputStreamReader(in));
  2273.  
  2274. String str=buf.readLine();
  2275.  
  2276. System.out.println(" Message Received From Client : " + str);
  2277.  
  2278. System.out.println(" This Message is Forwarded To Client. ");
  2279.  
  2280. pr.println(str);
  2281.  
  2282. pr.flush();
  2283.  
  2284. }
  2285.  
  2286. catch(Exception e)
  2287.  
  2288. {
  2289.  
  2290. System.out.println(" Error : " + e.getMessage());
  2291.  
  2292. }
  2293.  
  2294. }
  2295.  
  2296. }
  2297.  
  2298.  
  2299.  
  2300. client
  2301.  
  2302. import java.io.*;
  2303.  
  2304. import java.net.*;
  2305.  
  2306.  
  2307.  
  2308. public class EchoClient
  2309.  
  2310. {
  2311.  
  2312. public static void main(String args[]) throws Exception
  2313.  
  2314. {
  2315.  
  2316. try {
  2317.  
  2318. int Port;
  2319.  
  2320. BufferedReader Buf =new BufferedReader(new
  2321.  
  2322. InputStreamReader(System.in));
  2323.  
  2324. System.out.print(" Enter the Port Address : " );
  2325.  
  2326. Port=Integer.parseInt(Buf.readLine());
  2327.  
  2328. Socket sok=new Socket("localhost",Port);
  2329.  
  2330. if(sok.isConnected()==true)
  2331.  
  2332. System.out.println(" Server Socket is Connected Succecfully. ");
  2333.  
  2334. InputStream in=sok.getInputStream();
  2335.  
  2336. OutputStream ou=sok.getOutputStream();
  2337.  
  2338. PrintWriter pr=new PrintWriter(ou);
  2339.  
  2340. BufferedReader buf1=new BufferedReader(new
  2341.  
  2342. InputStreamReader(System.in));
  2343.  
  2344.  
  2345. BufferedReader buf2=new BufferedReader(new
  2346.  
  2347. InputStreamReader(in));
  2348.  
  2349. String str1,str2;
  2350.  
  2351. System.out.print(" Enter the Message : ");
  2352.  
  2353. str1=buf1.readLine();
  2354.  
  2355. pr.println(str1);
  2356.  
  2357. pr.flush();
  2358.  
  2359. System.out.println(" Message Send Successfully. ");
  2360.  
  2361. str2=buf2.readLine();
  2362.  
  2363. System.out.println(" Message From Server : " + str2);
  2364.  
  2365. }
  2366.  
  2367. catch(Exception e)
  2368.  
  2369. {
  2370.  
  2371. System.out.println(" Error : " + e.getMessage());
  2372.  
  2373. }
  2374.  
  2375. }
  2376.  
  2377. }
  2378.  
  2379.  
  2380. Q3 Implement date server and client in java using TCP sockets
  2381.  
  2382.  
  2383. client
  2384.  
  2385. import java.io.*;
  2386.  
  2387. import java.net.*;
  2388.  
  2389.  
  2390.  
  2391. class DateClient
  2392.  
  2393. {
  2394.  
  2395. public static void main(String args[]) throws Exception
  2396.  
  2397. {
  2398.  
  2399. Socket soc=new Socket(InetAddress.getLocalHost(),5217);
  2400.  
  2401. BufferedReader in=new BufferedReader(new InputStreamReader( soc.getInputStream() ) );
  2402.  
  2403. System.out.println(in.readLine());
  2404.  
  2405. }
  2406.  
  2407. }
  2408.  
  2409.  
  2410.  
  2411. server
  2412.  
  2413. import java.net.*;
  2414.  
  2415. import java.io.*;
  2416.  
  2417. import java.util.*;
  2418.  
  2419.  
  2420.  
  2421. class DateServer
  2422.  
  2423. {
  2424.  
  2425. public static void main(String args[]) throws Exception
  2426.  
  2427. {
  2428.  
  2429. ServerSocket s=new ServerSocket(5217);
  2430. while(true)
  2431.  
  2432. {
  2433.  
  2434. System.out.println("Waiting For Connection ...");
  2435.  
  2436. Socket soc=s.accept();
  2437.  
  2438. DataOutputStream out=new DataOutputStream(soc.getOutputStream());
  2439.  
  2440. out.writeBytes("Server Date" + (new Date()).toString() + "\n");
  2441.  
  2442. out.close();
  2443.  
  2444. soc.close();
  2445.  
  2446. }
  2447.  
  2448.  
  2449.  
  2450. }
  2451.  
  2452. }
  2453.  
  2454.  
  2455. Q4,Q6
  2456. Implement a chat server and client in java using TCP sockets.
  2457. Write a program to implement a simple message transfer from client to server process using TCP/IP.
  2458.  
  2459.  
  2460. SERVER
  2461.  
  2462. import java.io.*;
  2463. import java.io.BufferedReader;
  2464. import java.io.InputStream;
  2465. import java.io.InputStreamReader;
  2466. import java.io.OutputStream;
  2467. import java.io.PrintWriter;
  2468. import java.net.*;
  2469. public class GossipServer
  2470. {
  2471. public static void main(String[] args) throws Exception
  2472. {
  2473. ServerSocket sersock = new ServerSocket(3000);
  2474. System.out.println("Server ready for chatting");
  2475. Socket sock = sersock.accept( );
  2476. // reading from keyboard (keyRead object)
  2477. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  2478. // sending to client (pwrite object)
  2479. OutputStream ostream = sock.getOutputStream();
  2480. PrintWriter pwrite = new PrintWriter(ostream, true);
  2481.  
  2482. // receiving from server ( receiveRead object)
  2483. InputStream istream = sock.getInputStream();
  2484. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  2485.  
  2486. String receiveMessage, sendMessage;
  2487. while(true)
  2488. {
  2489. if((receiveMessage = receiveRead.readLine()) != null)
  2490. {
  2491. System.out.println(receiveMessage);
  2492. }
  2493. sendMessage = keyRead.readLine();
  2494. pwrite.println(sendMessage);
  2495. pwrite.flush();
  2496. }
  2497. }
  2498. }
  2499.  
  2500.  
  2501. CLINET
  2502.  
  2503. import java.io.*;
  2504. import java.net.*;
  2505. public class GossipClient
  2506. {
  2507. public static void main(String[] args) throws Exception
  2508. {
  2509. Socket sock = new Socket("127.0.0.1", 3000);
  2510. // reading from keyboard (keyRead object)
  2511. BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
  2512. // sending to client (pwrite object)
  2513. OutputStream ostream = sock.getOutputStream();
  2514. PrintWriter pwrite = new PrintWriter(ostream, true);
  2515.  
  2516. // receiving from server ( receiveRead object)
  2517. InputStream istream = sock.getInputStream();
  2518. BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
  2519.  
  2520. System.out.println("Start the chitchat, type and press Enter key");
  2521.  
  2522. String receiveMessage, sendMessage;
  2523. while(true)
  2524. {
  2525. sendMessage = keyRead.readLine(); // keyboard reading
  2526. pwrite.println(sendMessage); // sending to server
  2527. pwrite.flush(); // flush the data
  2528. if((receiveMessage = receiveRead.readLine()) != null) //receive from server
  2529. {
  2530. System.out.println(receiveMessage); // displaying at DOS prompt
  2531. }
  2532. }
  2533. }
  2534. }
  2535.  
  2536.  
  2537.  
  2538. 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.
  2539.  
  2540. CLIENT
  2541.  
  2542. import java.io.*;
  2543. import java.net.*;
  2544. class TCPClientAuth {
  2545.  
  2546. public static void main(String argv[]) throws Exception
  2547. {
  2548. String username;
  2549. String password;
  2550. String auth;
  2551.  
  2552. BufferedReader inFromUser =
  2553. new BufferedReader(new InputStreamReader(System.in));
  2554.  
  2555. Socket clientSocket = new Socket("localhost", 6789);
  2556.  
  2557. DataOutputStream outToServer =
  2558. new DataOutputStream(clientSocket.getOutputStream());
  2559.  
  2560. BufferedReader inFromServer =
  2561. new BufferedReader(new
  2562. InputStreamReader(clientSocket.getInputStream()));
  2563.  
  2564. System.out.print("Username :");
  2565. username = inFromUser.readLine();
  2566.  
  2567. System.out.print("Password :");
  2568. password = inFromUser.readLine();
  2569.  
  2570.  
  2571. outToServer.writeBytes(username + '\n' + password + '\n' );
  2572.  
  2573. auth = inFromServer.readLine();
  2574.  
  2575. System.out.println("FROM SERVER: " + auth);
  2576.  
  2577. clientSocket.close();
  2578.  
  2579. }
  2580. }
  2581.  
  2582. SERVER
  2583.  
  2584.  
  2585. import java.io.*;
  2586. import java.net.*;
  2587.  
  2588. class TCPServerAuth {
  2589.  
  2590. public static void main(String argv[]) throws Exception
  2591. {
  2592. String username;
  2593. String password;
  2594. String auth;
  2595.  
  2596. ServerSocket welcomeSocket = new ServerSocket(6789);
  2597.  
  2598. while(true) {
  2599.  
  2600. Socket connectionSocket = welcomeSocket.accept();
  2601.  
  2602. BufferedReader inFromClient =
  2603. new BufferedReader(new
  2604. InputStreamReader(connectionSocket.getInputStream()));
  2605.  
  2606.  
  2607.  
  2608. DataOutputStream outToClient =
  2609. new DataOutputStream(connectionSocket.getOutputStream());
  2610.  
  2611. username = inFromClient.readLine();
  2612. password = inFromClient.readLine();
  2613.  
  2614.  
  2615. if (username.equals("Admin")){
  2616. if (password.equals("root")){
  2617. auth = "Login Successful!";
  2618. }else{
  2619. auth = "Wrong Password";
  2620. }
  2621. }else{
  2622. auth = "Wrong Username";
  2623. }
  2624.  
  2625. outToClient.writeBytes(auth);
  2626. connectionSocket.close();
  2627. }
  2628. }
  2629. }
  2630.  
  2631. ************************************************
  2632.  
  2633. CYCLESHEET 2
  2634.  
  2635. Q8.Find the physical address of a host when its logical address is known (ARP protocol) using TCP/IP.
  2636.  
  2637. CLIENT:
  2638. import java.io.*;
  2639. import java.util.*;
  2640. import java.net.*;
  2641.  
  2642. public class q8client
  2643. {
  2644. public static void main(String[] args)
  2645. {
  2646. try
  2647. {
  2648. Socket s = new Socket("localhost",5555);
  2649. BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
  2650. DataOutputStream dout = new DataOutputStream(s.getOutputStream());
  2651. DataInputStream din = new DataInputStream(s.getInputStream());
  2652. System.out.println("Enter the logical address: ");
  2653. String str = b.readLine();
  2654. dout.writeBytes(str + "\n");
  2655. String str1 = din.readLine();
  2656. System.out.println("Physical Address of str: " + str1);
  2657. s.close();
  2658. }
  2659. catch (Exception e)
  2660. {
  2661. }
  2662. }}
  2663.  
  2664. SERVER:
  2665.  
  2666. import java.io.*;
  2667. import java.util.*;
  2668. import java.net.*;
  2669.  
  2670. public class q8server
  2671. {
  2672. public static void main(String[] args)
  2673. {
  2674. try
  2675. {
  2676. ServerSocket ss = new ServerSocket(5555);
  2677. Socket s = ss.accept();
  2678. BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
  2679. DataOutputStream dout = new DataOutputStream(s.getOutputStream());
  2680. DataInputStream din = new DataInputStream(s.getInputStream());
  2681. String str = din.readLine();
  2682. String logical[] = {"172.16.27.34","195.24.54.204"};
  2683. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD"};
  2684. for(int i=0;i<logical.length;i++)
  2685. {
  2686. if (str.equals(logical[i]))
  2687. {
  2688. dout.writeBytes(physical[i] + "\n");
  2689. break;
  2690. }
  2691. }
  2692. s.close();
  2693. }
  2694. catch (Exception e)
  2695. {
  2696. }
  2697. }
  2698. }
  2699.  
  2700.  
  2701. OUTPUT:
  2702.  
  2703.  
  2704. =====================================================
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710. Q9.Find the logical address of a host when its physical address is known (RARP protocol) using TCP/IP.
  2711.  
  2712. CLIENT:
  2713. import java.io.*;
  2714. import java.net.*;
  2715. class TCPLogClient {
  2716.  
  2717. public static void main(String argv[]) throws Exception
  2718. {
  2719. String logicAdd;
  2720. String phyAdd;
  2721.  
  2722. BufferedReader inFromUser =
  2723. new BufferedReader(new InputStreamReader(System.in));
  2724.  
  2725. Socket clientSocket = new Socket("localhost", 6789);
  2726.  
  2727. DataOutputStream outToServer =
  2728. new DataOutputStream(clientSocket.getOutputStream());
  2729.  
  2730. BufferedReader inFromServer =
  2731. new BufferedReader(new
  2732. InputStreamReader(clientSocket.getInputStream()));
  2733.  
  2734. System.out.println("Enter Physical address of host");
  2735. phyAdd = inFromUser.readLine();
  2736.  
  2737. outToServer.writeBytes(phyAdd + '\n');
  2738.  
  2739. logicAdd = inFromServer.readLine();
  2740.  
  2741. System.out.println("FROM SERVER: Logical Address " + logicAdd);
  2742.  
  2743. clientSocket.close();
  2744.  
  2745. }
  2746. }
  2747.  
  2748. SERVER:
  2749. import java.io.*;
  2750. import java.net.*;
  2751.  
  2752. class TCPLogServer {
  2753.  
  2754. public static void main(String argv[]) throws Exception
  2755. {
  2756. String phyAdd;
  2757.  
  2758.  
  2759. ServerSocket welcomeSocket = new ServerSocket(6789);
  2760.  
  2761. while(true) {
  2762.  
  2763. Socket connectionSocket = welcomeSocket.accept();
  2764.  
  2765. BufferedReader inFromClient =
  2766. new BufferedReader(new
  2767. InputStreamReader(connectionSocket.getInputStream()));
  2768.  
  2769.  
  2770. String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  2771. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
  2772.  
  2773. DataOutputStream outToClient =
  2774. new DataOutputStream(connectionSocket.getOutputStream());
  2775.  
  2776. phyAdd = inFromClient.readLine();
  2777. for(int i = 0; i < physical.length; i++)
  2778. {
  2779. if (phyAdd.equals(physical[i]))
  2780. {
  2781. outToClient.writeBytes(logical[i] + "\n");
  2782. connectionSocket.close();
  2783. }
  2784. }
  2785.  
  2786.  
  2787. }
  2788. }
  2789. }
  2790.  
  2791. =======================================
  2792.  
  2793.  
  2794. 10.Implement Domain Name System (DNS) using TCP/IP
  2795.  
  2796. SERVER:
  2797. import java.io.*;
  2798. import java.net.*;
  2799. class TCPLoServer {
  2800. public static void main(String argv[]) throws Exception
  2801. {
  2802. String D;
  2803. ServerSocket welcomeSocket = new ServerSocket(6789);
  2804. while(true) {
  2805. Socket connectionSocket = welcomeSocket.accept();
  2806. BufferedReader inFromClient =
  2807. new BufferedReader(new
  2808. InputStreamReader(connectionSocket.getInputStream()));
  2809. String hostaddr[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  2810. String DNS[] = {"www.google.com","www.facebook.com", "www.vit.ac.in"};
  2811. DataOutputStream outToClient =
  2812. new DataOutputStream(connectionSocket.getOutputStream());
  2813. D = inFromClient.readLine();
  2814. for(int i = 0; i < hostaddr.length; i++)
  2815. {
  2816. if (D.equals(hostaddr[i]))
  2817. {
  2818. outToClient.writeBytes(DNS[i] + "\n");
  2819. connectionSocket.close();
  2820. }
  2821. }
  2822.  
  2823.  
  2824. }
  2825. }
  2826. }
  2827.  
  2828.  
  2829.  
  2830. CLIENT:
  2831. import java.io.*;
  2832. import java.net.*;
  2833. class TCPLoClient {
  2834.  
  2835. public static void main(String argv[]) throws Exception
  2836. {
  2837. String hostaddr;
  2838. String DNS;
  2839.  
  2840. BufferedReader inFromUser =
  2841. new BufferedReader(new InputStreamReader(System.in));
  2842.  
  2843. Socket clientSocket = new Socket("localhost", 6789);
  2844.  
  2845. DataOutputStream outToServer =
  2846. new DataOutputStream(clientSocket.getOutputStream());
  2847.  
  2848. BufferedReader inFromServer =
  2849. new BufferedReader(new
  2850. InputStreamReader(clientSocket.getInputStream()));
  2851.  
  2852. System.out.println("Enter IP address of host");
  2853. DNS = inFromUser.readLine();
  2854.  
  2855. outToServer.writeBytes(DNS + '\n');
  2856.  
  2857. hostaddr = inFromServer.readLine();
  2858.  
  2859. System.out.println("FROM SERVER: Logical Address " + hostaddr);
  2860.  
  2861. clientSocket.close();
  2862.  
  2863. }
  2864. }
  2865.  
  2866.  
  2867.  
  2868. *************************************************
  2869.  
  2870. 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.
  2871.  
  2872. CLIENT:
  2873. import java.io.*;
  2874. import java.net.*;
  2875. class client {
  2876. public static void main(String argv[]) throws Exception
  2877. {
  2878. String sentence;
  2879. String modifiedSentence;
  2880. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  2881. Socket clientSocket = new Socket("localhost", 2222);
  2882. DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
  2883. BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  2884. System.out.println("Enter a number - ");
  2885. sentence = inFromUser.readLine();
  2886. outToServer.writeBytes(sentence + '\n');
  2887. modifiedSentence = inFromServer.readLine();
  2888. System.out.println ("Factorial: " + modifiedSentence );
  2889. clientSocket.close();
  2890. }
  2891. }
  2892. SREVER:
  2893.  
  2894. import java.io.*;
  2895. import java.net.*;
  2896. class serv {
  2897. public static void main(String argv[]) throws Exception
  2898. {
  2899. String clientSentence;
  2900. String capitalizedSentence;
  2901. ServerSocket welcomeSocket = new ServerSocket(2222);
  2902. Socket connectionSocket = welcomeSocket.accept();
  2903. BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
  2904. DataOutputStream outToClient = new DataOutputStream (connectionSocket.getOutputStream());
  2905. clientSentence = inFromClient.readLine();
  2906. int num = Integer.parseInt(clientSentence);
  2907. int fact=1;
  2908. for(int i=1;i<=num;i++)
  2909. fact=fact*i;
  2910. System.out.println("Factorial : "+fact);
  2911. capitalizedSentence = String.valueOf(fact);
  2912. //capitalizedSentence = clientSentence.toUpperCase() + '\n';
  2913. outToClient.writeBytes(capitalizedSentence);
  2914. }
  2915. }
  2916.  
  2917. ******************************************************
  2918.  
  2919. Ques12.Find the class of the IP address using TCP/IP.
  2920. import java.io.*;
  2921. import java.net.*;
  2922.  
  2923. class TCPIpclassServer {
  2924.  
  2925. public static void main(String argv[]) throws Exception
  2926. {
  2927. String ip;
  2928. int fbyte;
  2929. String ipclass = "Invalid";
  2930.  
  2931.  
  2932. ServerSocket welcomeSocket = new ServerSocket(6789);
  2933.  
  2934. while(true) {
  2935.  
  2936. Socket connectionSocket = welcomeSocket.accept();
  2937.  
  2938. BufferedReader inFromClient =
  2939. new BufferedReader(new
  2940. InputStreamReader(connectionSocket.getInputStream()));
  2941.  
  2942.  
  2943. DataOutputStream outToClient =
  2944. new DataOutputStream(connectionSocket.getOutputStream());
  2945.  
  2946. ip = inFromClient.readLine();
  2947. int index;
  2948. index = ip.indexOf(".");
  2949. ip = ip.substring(0, index);
  2950.  
  2951.  
  2952. fbyte = Integer.parseInt(ip);
  2953. if (fbyte >= 0 && fbyte <= 127)
  2954. ipclass = "Class A";
  2955. else if (fbyte >= 128 && fbyte <= 191)
  2956. ipclass = "Class B";
  2957. else if (fbyte >= 192 && fbyte <= 223)
  2958. ipclass = "Class C";
  2959. else if (fbyte >= 224 && fbyte <= 239)
  2960. ipclass = "Class D";
  2961. else if (fbyte >= 240 && fbyte <= 255)
  2962. ipclass = "Class E";
  2963.  
  2964. outToClient.writeBytes(ipclass + "\n");
  2965. connectionSocket.close();
  2966.  
  2967. }
  2968. }
  2969. }
  2970.  
  2971. //client
  2972.  
  2973. import java.io.*;
  2974. import java.net.*;
  2975. class TCPIpclassClient {
  2976.  
  2977. public static void main(String argv[]) throws Exception
  2978. {
  2979. String ip;
  2980. String ipclass;
  2981.  
  2982. BufferedReader inFromUser =
  2983. new BufferedReader(new InputStreamReader(System.in));
  2984.  
  2985. Socket clientSocket = new Socket("localhost", 6789);
  2986.  
  2987. DataOutputStream outToServer =
  2988. new DataOutputStream(clientSocket.getOutputStream());
  2989.  
  2990. BufferedReader inFromServer =
  2991. new BufferedReader(new
  2992. InputStreamReader(clientSocket.getInputStream()));
  2993.  
  2994. System.out.println("Enter an IP address: ");
  2995. ip = inFromUser.readLine();
  2996.  
  2997. outToServer.writeBytes(ip + '\n');
  2998.  
  2999. ipclass = inFromServer.readLine();
  3000.  
  3001. System.out.println("FROM SERVER: Class for IP: "+ ip + " is : " + ipclass);
  3002.  
  3003. clientSocket.close();
  3004.  
  3005. }
  3006. }
  3007.  
  3008. *************************************************
  3009.  
  3010.  
  3011. CYCLESHEET 3
  3012.  
  3013.  
  3014. 1.Implement echo server and client in java using UDP sockets.
  3015.  
  3016. import java.io.*;
  3017. import java.net.*;
  3018.  
  3019. public class EServer
  3020. {
  3021. public static void main(String[] args) throws IOException
  3022. {
  3023.  
  3024. ServerSocket S = new ServerSocket(3000);
  3025.  
  3026. while(true)
  3027. {
  3028. Socket Client = S.accept();
  3029.  
  3030. InputStream in = Client.getInputStream();
  3031.  
  3032. DataInputStream Dis = new DataInputStream(in);
  3033.  
  3034. System.out.println(Dis.readUTF());
  3035.  
  3036. Client = new Socket("localhost",4000);
  3037.  
  3038. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  3039.  
  3040. String Str = buff.readLine();
  3041.  
  3042. OutputStream out = Client.getOutputStream();
  3043.  
  3044. DataOutputStream Dos = new DataOutputStream(out);
  3045.  
  3046. Str = "Server Says :: " + Str;
  3047.  
  3048. Dos.writeUTF(Str);
  3049.  
  3050. Client.close();
  3051.  
  3052. }
  3053.  
  3054. }
  3055.  
  3056. }
  3057.  
  3058.  
  3059.  
  3060. //client
  3061. import java.io.*;
  3062. import java.net.*;
  3063. import java.util.*;
  3064.  
  3065. public class EClient
  3066. {
  3067. public static void main(String[] args) throws IOException
  3068. {
  3069. Socket C = new Socket("localhost",3000);
  3070. BufferedReader buff = new BufferedReader(new InputStreamReader (System.in));
  3071. String Str = buff.readLine();
  3072.  
  3073. OutputStream out = C.getOutputStream();
  3074.  
  3075. DataOutputStream Dos = new DataOutputStream(out);
  3076.  
  3077. Dos.writeUTF("Client Say :: " + Str);
  3078. Dos.flush();
  3079.  
  3080. ServerSocket S = new ServerSocket(4000);
  3081. Socket Client = S.accept();
  3082. InputStream in = Client.getInputStream();
  3083. DataInputStream Dis = new DataInputStream(in);
  3084. System.out.println(Dis.readUTF());
  3085. Client.close();
  3086. }
  3087. }
  3088.  
  3089. OUTPUT:
  3090.  
  3091.  
  3092. ***************************************************
  3093.  
  3094.  
  3095.  
  3096. 2.Write a program to implement a text based message transfer from client to server process using UDP.
  3097.  
  3098. //server
  3099. import java.io.BufferedReader;
  3100. import java.io.BufferedWriter;
  3101. import java.io.InputStream;
  3102. import java.io.InputStreamReader;
  3103. import java.io.OutputStream;
  3104. import java.io.OutputStreamWriter;
  3105. import java.net.ServerSocket;
  3106. import java.net.Socket;
  3107.  
  3108. public class Server
  3109. {
  3110.  
  3111. private static Socket socket;
  3112.  
  3113. public static void main(String[] args)
  3114. {
  3115. try
  3116. {
  3117.  
  3118. int port = 25000;
  3119. ServerSocket serverSocket = new ServerSocket(port);
  3120. System.out.println("Server Started and listening to the port 25000");
  3121.  
  3122. //Server is running always. This is done using this while(true) loop
  3123. while(true)
  3124. {
  3125. //Reading the message from the client
  3126. socket = serverSocket.accept();
  3127. InputStream is = socket.getInputStream();
  3128. InputStreamReader isr = new InputStreamReader(is);
  3129. BufferedReader br = new BufferedReader(isr);
  3130. String number = br.readLine();
  3131. System.out.println("Message received from client is "+number);
  3132.  
  3133. //Multiplying the number by 2 and forming the return message
  3134. String returnMessage;
  3135. try
  3136. {
  3137. int numberInIntFormat = Integer.parseInt(number);
  3138. int returnValue = numberInIntFormat*2;
  3139. returnMessage = String.valueOf(returnValue) + "\n";
  3140. }
  3141. catch(NumberFormatException e)
  3142. {
  3143. //Input was not a number. Sending proper message back to client.
  3144. returnMessage = "Please send a proper number\n";
  3145. }
  3146.  
  3147. //Sending the response back to the client.
  3148. OutputStream os = socket.getOutputStream();
  3149. OutputStreamWriter osw = new OutputStreamWriter(os);
  3150. BufferedWriter bw = new BufferedWriter(osw);
  3151. bw.write(returnMessage);
  3152. System.out.println("Message sent to the client is "+returnMessage);
  3153. bw.flush();
  3154. }
  3155. }
  3156. catch (Exception e)
  3157. {
  3158. e.printStackTrace();
  3159. }
  3160. finally
  3161. {
  3162. try
  3163. {
  3164. socket.close();
  3165. }
  3166. catch(Exception e){}
  3167. }
  3168. }
  3169. }
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178. //client
  3179.  
  3180. import java.io.BufferedReader;
  3181. import java.io.BufferedWriter;
  3182. import java.io.InputStream;
  3183. import java.io.InputStreamReader;
  3184. import java.io.OutputStream;
  3185. import java.io.OutputStreamWriter;
  3186. import java.net.InetAddress;
  3187. import java.net.Socket;
  3188.  
  3189. public class Client
  3190. {
  3191.  
  3192. private static Socket socket;
  3193.  
  3194. public static void main(String args[])
  3195. {
  3196. try
  3197. {
  3198. String host = "localhost";
  3199. int port = 25000;
  3200. InetAddress address = InetAddress.getByName(host);
  3201. socket = new Socket(address, port);
  3202.  
  3203. //Send the message to the server
  3204. OutputStream os = socket.getOutputStream();
  3205. OutputStreamWriter osw = new OutputStreamWriter(os);
  3206. BufferedWriter bw = new BufferedWriter(osw);
  3207.  
  3208. String number = "2";
  3209.  
  3210. String sendMessage = number + "\n";
  3211. bw.write(sendMessage);
  3212. bw.flush();
  3213. System.out.println("Message sent to the server : "+sendMessage);
  3214.  
  3215. //Get the return message from the server
  3216. InputStream is = socket.getInputStream();
  3217. InputStreamReader isr = new InputStreamReader(is);
  3218. BufferedReader br = new BufferedReader(isr);
  3219. String message = br.readLine();
  3220. System.out.println("Message received from the server : " +message);
  3221. }
  3222. catch (Exception exception)
  3223. {
  3224. exception.printStackTrace();
  3225. }
  3226. finally
  3227. {
  3228. //Closing the socket
  3229. try
  3230. {
  3231. socket.close();
  3232. }
  3233. catch(Exception e)
  3234. {
  3235. e.printStackTrace();
  3236. }
  3237. }
  3238. }
  3239. }
  3240.  
  3241. OUTPUT:
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248. **********************************************
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254. 3.Implement a chat server and client in java using UDP sockets.
  3255.  
  3256. //server
  3257. import java.io.*;
  3258. import java.net.*;
  3259.  
  3260. public class UDPChatServer {
  3261. public static void main(String args[]) throws Exception
  3262. {
  3263. DatagramSocket serverSocket = new DatagramSocket(6789);
  3264.  
  3265. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  3266. String reply;
  3267. while(true)
  3268. {
  3269. byte[] receiveData = new byte[1024];
  3270. byte[] sendData = new byte[1024];
  3271. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3272. serverSocket.receive(receivePacket);
  3273.  
  3274. String msg = new String(receivePacket.getData());
  3275. System.out.println("Message Received: " + msg);
  3276.  
  3277. InetAddress IPAddress = receivePacket.getAddress();
  3278. int port = receivePacket.getPort();
  3279.  
  3280. System.out.printf("Enter reply: ");
  3281. reply = inFromUser.readLine();
  3282. if (reply.equals("bye"))
  3283. {
  3284. System.out.printf("Exiting Chat!");
  3285. serverSocket.close();
  3286. break;
  3287. }
  3288. sendData = reply.getBytes();
  3289. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  3290. serverSocket.send(sendPacket);
  3291. }
  3292.  
  3293. }
  3294. }
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305. //client
  3306. import java.io.*;
  3307. import java.net.*;
  3308.  
  3309. public class UDPChatClient {
  3310. public static void main(String args[]) throws Exception
  3311. {
  3312. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  3313.  
  3314. InetAddress IPAddress = InetAddress.getByName("localhost");
  3315.  
  3316. String msg = "";
  3317. while(true)
  3318. {
  3319. byte[] sendData = new byte[1024];
  3320. byte[] receiveData = new byte[1024];
  3321. DatagramSocket clientSocket = new DatagramSocket();
  3322. System.out.printf("Send a Message: ");
  3323. msg = inFromUser.readLine();
  3324. if (msg.equals("bye"))
  3325. {
  3326. System.out.printf("Exiting Chat!");
  3327. clientSocket.close();
  3328. break;
  3329. }
  3330. sendData = msg.getBytes();
  3331.  
  3332. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  3333. clientSocket.send(sendPacket);
  3334.  
  3335. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3336. clientSocket.receive(receivePacket);
  3337.  
  3338. String reply = new String(receivePacket.getData());
  3339. System.out.println("Reply: " + reply);
  3340. clientSocket.close();
  3341. }
  3342. }
  3343. }
  3344.  
  3345.  
  3346. ****************************************
  3347.  
  3348.  
  3349.  
  3350. 4. Implement a DNS server and client in java using UDP sockets.
  3351.  
  3352. //server
  3353. import java.io.*;
  3354. import java.net.*;
  3355. import java.util.*;
  3356. class Serverdns12
  3357. {
  3358.  
  3359. public static void main(String args[])
  3360. {
  3361. try
  3362. {
  3363. DatagramSocket server=new DatagramSocket(1309);
  3364. while(true)
  3365. {
  3366. byte[] sendbyte=new byte[1024];
  3367. byte[] receivebyte=new byte[1024];
  3368. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  3369. server.receive(receiver);
  3370. String str=new String(receiver.getData());
  3371. String s=str.trim();
  3372. //System.out.println(s);
  3373. InetAddress addr=receiver.getAddress();
  3374. int port=receiver.getPort();
  3375. String ip[]={"165.165.80.80","165.165.79.1"};
  3376. String name[]={"www.aptitudeguru.com","www.downloadcyclone.blogspot.com"};
  3377. for(int i=0;i<ip.length;i++)
  3378. {
  3379. if(s.equals(ip[i]))
  3380. {
  3381. sendbyte=name[i].getBytes();
  3382. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  3383. server.send(sender);
  3384. break;
  3385. }
  3386. else if(s.equals(name[i]))
  3387. {
  3388. sendbyte=ip[i].getBytes();
  3389. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  3390. server.send(sender);
  3391. break;
  3392. }
  3393. }
  3394. break;
  3395. }
  3396. }
  3397. catch(Exception e)
  3398. {
  3399. System.out.println(e);
  3400. }
  3401. }
  3402. }
  3403.  
  3404.  
  3405.  
  3406.  
  3407. //client
  3408.  
  3409. import java.io.*;
  3410. import java.net.*;
  3411. import java.util.*;
  3412. class Clientdns12
  3413. {
  3414. public static void main(String args[])
  3415. {
  3416. try
  3417. {
  3418. DatagramSocket client=new DatagramSocket();
  3419. InetAddress addr=InetAddress.getByName("127.0.0.1");
  3420.  
  3421. byte[] sendbyte=new byte[1024];
  3422. byte[] receivebyte=new byte[1024];
  3423.  
  3424. BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  3425. System.out.println("Enter the DOMAIN NAME or IP adress:");
  3426. String str=in.readLine();
  3427. sendbyte=str.getBytes();
  3428. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
  3429. client.send(sender);
  3430. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  3431. client.receive(receiver);
  3432. String s=new String(receiver.getData());
  3433. System.out.println("IP address or DOMAIN NAME: "+s.trim());
  3434. client.close();
  3435. }
  3436. catch(Exception e)
  3437. {
  3438. System.out.println(e);
  3439. }
  3440. }
  3441. }
  3442.  
  3443. ***************************
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449. 5. Find the logical address of a host when its physical address is known (RARP protocol) using UDP.
  3450.  
  3451. //SERVER
  3452. import java.io.*;
  3453. import java.net.*;
  3454.  
  3455. public class UDPRARPServer {
  3456. public static void main(String args[]) throws Exception
  3457. {
  3458. DatagramSocket serverSocket = new DatagramSocket(6789);
  3459. byte[] receiveData = new byte[1024];
  3460. byte[] sendData = new byte[1024];
  3461.  
  3462. String logical[] = {"172.16.27.34","195.24.54.204", "10.10.137.1"};
  3463. String physical[] = {"8E:AE:08:AA","0A:78:6C:AD", "d4:6d:50:84:db:c8"};
  3464. String reply = "";
  3465.  
  3466. while(true)
  3467. {
  3468. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3469. serverSocket.receive(receivePacket);
  3470.  
  3471. String phyaddr = new String(receivePacket.getData());
  3472. System.out.println("Physical Address received: " + phyaddr);
  3473. phyaddr = phyaddr.trim();
  3474. InetAddress IPAddress = receivePacket.getAddress();
  3475. int port = receivePacket.getPort();
  3476.  
  3477. for(int i = 0; i < physical.length; i++)
  3478. {
  3479. if (phyaddr.equals(physical[i]))
  3480. {
  3481. reply = logical[i];
  3482. sendData = reply.getBytes();
  3483. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  3484. serverSocket.send(sendPacket);
  3485. }
  3486. }
  3487.  
  3488. }
  3489. }
  3490. }
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501. //CLIENT
  3502. import java.io.*;
  3503. import java.net.*;
  3504.  
  3505. public class UDPRARPClient {
  3506. public static void main(String args[]) throws Exception
  3507. {
  3508. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  3509. DatagramSocket clientSocket = new DatagramSocket();
  3510. InetAddress IPAddress = InetAddress.getByName("localhost");
  3511. byte[] sendData = new byte[1024];
  3512. byte[] receiveData = new byte[1024];
  3513.  
  3514. System.out.printf("Enter Physical address: ");
  3515. String phyaddr = inFromUser.readLine();
  3516. sendData = phyaddr.getBytes();
  3517.  
  3518. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  3519. clientSocket.send(sendPacket);
  3520.  
  3521. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3522. clientSocket.receive(receivePacket);
  3523.  
  3524. String logaddr = new String(receivePacket.getData());
  3525. System.out.println("Logical Address:" + logaddr);
  3526. clientSocket.close();
  3527. }
  3528. }
  3529.  
  3530.  
  3531. ********************************
  3532.  
  3533.  
  3534. 6.Find the physical address of a host when its logical address is known (ARP protocol) using UDP.
  3535.  
  3536. //server
  3537. import java.io.*;
  3538. import java.net.*;
  3539. import java.util.*;
  3540. class Serverarp12
  3541. {
  3542. public static void main(String args[])
  3543. {
  3544. try
  3545. {
  3546. DatagramSocket server=new DatagramSocket(1309);
  3547. while(true)
  3548. {
  3549. byte[] sendbyte=new byte[1024];
  3550. byte[] receivebyte=new byte[1024];
  3551. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  3552. server.receive(receiver);
  3553. String str=new String(receiver.getData());
  3554. String s=str.trim();
  3555. //System.out.println(s);
  3556. InetAddress addr=receiver.getAddress();
  3557. int port=receiver.getPort();
  3558. String ip[]={"165.165.80.80","165.165.79.1"};
  3559. String mac[]={"6A:08:AA:C2","8A:BC:E3:FA"};
  3560. for(int i=0;i<ip.length;i++)
  3561. {
  3562. if(s.equals(ip[i]))
  3563. {
  3564. sendbyte=mac[i].getBytes();
  3565. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,port);
  3566. server.send(sender);
  3567. break;
  3568. }
  3569. }
  3570. break;
  3571.  
  3572.  
  3573. }
  3574. }
  3575. catch(Exception e)
  3576. {
  3577. System.out.println(e);
  3578. }
  3579. }
  3580. }
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.  
  3593.  
  3594. //client
  3595. import java.io.*;
  3596. import java.net.*;
  3597. import java.util.*;
  3598. class Clientarp12
  3599. {
  3600. public static void main(String args[])
  3601. {
  3602. try
  3603. {
  3604. DatagramSocket client=new DatagramSocket();
  3605. InetAddress addr=InetAddress.getByName("127.0.0.1");
  3606.  
  3607. byte[] sendbyte=new byte[1024];
  3608. byte[] receivebyte=new byte[1024];
  3609. BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  3610. System.out.println("Enter the logical address (IP):");
  3611. String str=in.readLine();
  3612. sendbyte=str.getBytes();
  3613. DatagramPacket sender=new DatagramPacket(sendbyte,sendbyte.length,addr,1309);
  3614. client.send(sender);
  3615. DatagramPacket receiver=new DatagramPacket(receivebyte,receivebyte.length);
  3616. client.receive(receiver);
  3617. String s=new String(receiver.getData());
  3618. System.out.println("The Physical Address is(MAC): "+s.trim());
  3619. client.close();
  3620. }
  3621. catch(Exception e)
  3622. {
  3623. System.out.println(e);
  3624. }
  3625. }
  3626. }
  3627.  
  3628.  
  3629.  
  3630. *********************************
  3631.  
  3632.  
  3633. 7.Implement Client - Server communication to access Date using UDP in Java.
  3634.  
  3635.  
  3636. //server
  3637. import java.io.*;
  3638. import java.net.*;
  3639. import java.util.*;
  3640.  
  3641. public class UDPDateServer {
  3642. public static void main(String args[]) throws Exception
  3643. {
  3644. DatagramSocket serverSocket = new DatagramSocket(6789);
  3645. byte[] receiveData = new byte[1024];
  3646. byte[] sendData = new byte[1024];
  3647. String GetDate = "";
  3648. while(true)
  3649. {
  3650. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3651. serverSocket.receive(receivePacket);
  3652.  
  3653. String msg = new String(receivePacket.getData());
  3654. System.out.println("Message: " + msg);
  3655.  
  3656. InetAddress IPAddress = receivePacket.getAddress();
  3657. int port = receivePacket.getPort();
  3658. msg = msg.trim();
  3659. if (msg.equals("date"))
  3660. {
  3661. Date d = new Date();
  3662. GetDate = d.toString();
  3663. }
  3664.  
  3665. sendData = GetDate.getBytes();
  3666. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
  3667. serverSocket.send(sendPacket);
  3668. }
  3669. }
  3670. }
  3671.  
  3672.  
  3673.  
  3674. //client
  3675.  
  3676. import java.io.*;
  3677. import java.net.*;
  3678.  
  3679.  
  3680. public class UDPDateClient {
  3681. public static void main(String args[]) throws Exception
  3682. {
  3683. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  3684. DatagramSocket clientSocket = new DatagramSocket();
  3685. InetAddress IPAddress = InetAddress.getByName("localhost");
  3686. byte[] sendData = new byte[1024];
  3687. byte[] receiveData = new byte[1024];
  3688.  
  3689. System.out.printf("Enter Request: ");
  3690. String msg = inFromUser.readLine();
  3691. sendData = msg.getBytes();
  3692.  
  3693. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 6789);
  3694. clientSocket.send(sendPacket);
  3695.  
  3696. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  3697. clientSocket.receive(receivePacket);
  3698.  
  3699. String reply = new String(receivePacket.getData());
  3700. System.out.println("FROM SERVER:" + reply);
  3701. clientSocket.close();
  3702. }
  3703. }
  3704.  
  3705.  
  3706.  
  3707.  
  3708. 7 USING UDP
  3709.  
  3710. import java.net.*;
  3711. import java.io.*;
  3712.  
  3713. public class Clientnew {
  3714.  
  3715. public static void main(String[] args) throws Exception{
  3716.  
  3717. System.out.println("Server Time >>>>");
  3718.  
  3719. DatagramSocket cs=new DatagramSocket();
  3720.  
  3721. InetAddress ip=InetAddress.getByName("localhost");
  3722.  
  3723. byte[] rd=new byte[100];
  3724. byte[] sd=new byte[100];
  3725.  
  3726. DatagramPacket sp=new DatagramPacket(sd,sd.length,ip,1234);
  3727.  
  3728. DatagramPacket rp=new DatagramPacket(rd,rd.length);
  3729.  
  3730. cs.send(sp);
  3731.  
  3732. cs.receive(rp);
  3733.  
  3734. String time=new String(rp.getData());
  3735.  
  3736. System.out.println(time);
  3737.  
  3738. cs.close();
  3739.  
  3740. }
  3741.  
  3742. }
  3743.  
  3744.  
  3745.  
  3746. ==============================
  3747.  
  3748. import java.net.*;
  3749. import java.io.*;
  3750. import java.util.*;
  3751.  
  3752. public class Server {
  3753.  
  3754. public static void main(String[] args) throws Exception{
  3755.  
  3756. DatagramSocket ss=new DatagramSocket(1234);
  3757.  
  3758. while(true){
  3759.  
  3760. System.out.println("Server is up....");
  3761.  
  3762. byte[] rd=new byte[100];
  3763. byte[] sd=new byte[100];
  3764.  
  3765. DatagramPacket rp=new DatagramPacket(rd,rd.length);
  3766.  
  3767. ss.receive(rp);
  3768.  
  3769. InetAddress ip= rp.getAddress();
  3770.  
  3771. int port=rp.getPort();
  3772.  
  3773. Date d=new Date(); // getting system time
  3774.  
  3775. String time= d + ""; // converting it to String
  3776.  
  3777. sd=time.getBytes(); // converting that String to byte
  3778.  
  3779. DatagramPacket sp=new DatagramPacket(sd,sd.length,ip,port);
  3780.  
  3781. ss.send(sp);
  3782.  
  3783. rp=null;
  3784.  
  3785. System.out.println("Done !! ");
  3786.  
  3787. }
  3788.  
  3789. }
  3790.  
  3791. }
  3792.  
  3793.  
  3794.  
  3795. ////
  3796. sethi broad
  3797.  
  3798.  
  3799. clinet
  3800.  
  3801.  
  3802. import java.io.IOException;
  3803. import java.net.DatagramPacket;
  3804. import java.net.InetAddress;
  3805. import java.net.MulticastSocket;
  3806. import java.net.UnknownHostException;
  3807. import java.util.Scanner;
  3808.  
  3809. public class MulticastSocketClient {
  3810.  
  3811. final static String INET_ADDR = "224.0.0.3";
  3812.  
  3813. public static void main(String[] args) throws UnknownHostException {
  3814. // Get the address that we are going to connect to.
  3815. InetAddress address = InetAddress.getByName(INET_ADDR);
  3816. int p = 0;
  3817. Scanner sc=new Scanner(System.in);
  3818. p=sc.nextInt();
  3819.  
  3820. // Create a buffer of bytes, which will be used to store
  3821. // the incoming bytes containing the information from the server.
  3822. // Since the message is small here, 256 bytes should be enough.
  3823. byte[] buf = new byte[256];
  3824.  
  3825. // Create a new Multicast socket (that will allow other sockets/programs
  3826. // to join it as well.
  3827. try {
  3828. MulticastSocket clientSocket = new MulticastSocket(p);
  3829. //Joint the Multicast group.
  3830. clientSocket.joinGroup(address);
  3831.  
  3832. while (true) {
  3833. // Receive the information and print it.
  3834. DatagramPacket msgPacket = new DatagramPacket(buf, buf.length);
  3835. clientSocket.receive(msgPacket);
  3836.  
  3837. String msg = new String(buf, 0, buf.length);
  3838. System.out.println("Socket 1 received msg: " + msg);
  3839. }
  3840. } catch (IOException ex) {
  3841. ex.printStackTrace();
  3842. }
  3843. }
  3844. }
  3845.  
  3846.  
  3847.  
  3848. server
  3849.  
  3850.  
  3851. import java.io.IOException;
  3852. import java.net.DatagramPacket;
  3853. import java.net.DatagramSocket;
  3854. import java.net.InetAddress;
  3855. import java.net.UnknownHostException;
  3856. import java.util.Scanner;
  3857.  
  3858. public class MulticastSocketServer {
  3859.  
  3860. final static String INET_ADDR = "224.0.0.3";
  3861.  
  3862. public static void main(String[] args) throws UnknownHostException, InterruptedException {
  3863. // Get the address that we are going to connect to.
  3864. InetAddress addr = InetAddress.getByName(INET_ADDR);
  3865. int p = 0;
  3866. Scanner sc=new Scanner(System.in);
  3867. p=sc.nextInt();
  3868. // Open a new DatagramSocket, which will be used to send the data.
  3869. try {
  3870. DatagramSocket serverSocket = new DatagramSocket();
  3871. for (int i = 0; i < 5; i++) {
  3872. String msg = "Sent message no " + i;
  3873.  
  3874. // Create a packet that will contain the data
  3875. // (in the form of bytes) and send it.
  3876. DatagramPacket msgPacket = new DatagramPacket(msg.getBytes(),
  3877. msg.getBytes().length, addr, p);
  3878. serverSocket.send(msgPacket);
  3879.  
  3880. System.out.println("Server sent packet with msg: " + msg);
  3881. Thread.sleep(500);
  3882. }
  3883. } catch (IOException ex) {
  3884. ex.printStackTrace();
  3885. }
  3886. }
  3887. }
  3888.  
  3889.  
  3890. ///ssl server jalaj
  3891.  
  3892. import java.io.*;
  3893. import java.util.*;
  3894. import java.net.*;
  3895. import javax.net.ssl.*;
  3896.  
  3897. public class serprac {
  3898. public static void main (String[] main){
  3899. try{
  3900.  
  3901. SSLServerSocketFactory fact = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
  3902. SSLServerSocket ss = (SSLServerSocket) fact.createServerSocket(5000);
  3903. SSLSocket s = (SSLSocket) ss.accept();
  3904. String[] supported = s.getSupportedCipherSuites();
  3905. s.setEnabledCipherSuites(supported);
  3906. BufferedReader keyred = new BufferedReader(new InputStreamReader(System.in));
  3907. OutputStream os = s.getOutputStream();
  3908. PrintWriter pw = new PrintWriter(os);
  3909. BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  3910. String send="",recv = "";
  3911. while(true){
  3912. if((recv = br.readLine())!=null){
  3913. System.out.println("server msg received : "+recv);
  3914. }
  3915. send = keyred.readLine();
  3916. pw.println(send);
  3917. pw.flush();
  3918. }
  3919.  
  3920. }catch(Exception e){
  3921. e.printStackTrace();
  3922. }
  3923. }
  3924. }
  3925.  
  3926.  
  3927. client
  3928.  
  3929.  
  3930. package labprog;
  3931. import java.util.*;
  3932. import java.io.*;
  3933. import java.net.*;
  3934.  
  3935. import javax.net.SocketFactory;
  3936. import javax.net.ssl.*;
  3937.  
  3938. public class clientprac {
  3939. public static void main (String[] main){
  3940. try{
  3941.  
  3942.  
  3943. SSLServerSocketFactory fact = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
  3944. SocketFactory sf = SSLSocketFactory.getDefault();
  3945.  
  3946. SSLSocket s = (SSLSocket) sf.createSocket("127.0.0.1",5000);
  3947. String[] supported = s.getSupportedCipherSuites();
  3948. s.setEnabledCipherSuites(supported);
  3949. BufferedReader keyred = new BufferedReader(new InputStreamReader(System.in));
  3950. OutputStream os = s.getOutputStream();
  3951. PrintWriter pw = new PrintWriter(os);
  3952. BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  3953. String send="",recv = "";
  3954. while(true){
  3955. send = keyred.readLine();
  3956. pw.println(send);
  3957. pw.flush();
  3958.  
  3959. if((recv = br.readLine())!=null){
  3960. System.out.println("client msg recv : "+recv);
  3961. }
  3962.  
  3963. }
  3964.  
  3965. }catch(Exception e){
  3966. e.printStackTrace();
  3967. }
  3968. }
  3969. }
  3970.  
  3971.  
  3972.  
  3973.  
  3974. //// rmi sethi
  3975.  
  3976. rmiserver
  3977.  
  3978. import java.io.*;
  3979. import java.net.*;
  3980. import java.rmi.*;
  3981. import java.rmi.registry.LocateRegistry;
  3982. import java.rmi.server.*;
  3983. public class rmiServer
  3984. {
  3985. public static void main(String[] args) throws RemoteException
  3986. {
  3987. LocateRegistry.createRegistry(1906);
  3988. try
  3989. {
  3990. inter_tp ob = new inter_tp();
  3991. //Naming.bind("fact",ob);
  3992. Naming.rebind("rmi://localhost:1906"+
  3993. "/fact",ob);
  3994. }
  3995. catch(Exception e)
  3996. {
  3997. System.out.println(e);
  3998. }
  3999. }
  4000. }
  4001.  
  4002.  
  4003. rmiclient
  4004.  
  4005.  
  4006. import java.rmi.*;
  4007. import java.rmi.server.*;
  4008. import java.io.*;
  4009. class rmiClient
  4010. {
  4011. public static void main(String[] args)
  4012. {
  4013. try
  4014. {
  4015. inter ob1 = (inter)Naming.lookup("rmi://localhost:1906/fact");
  4016. System.out.println(ob1.fact(3));
  4017. }
  4018. catch(Exception e)
  4019. {
  4020. System.out.println(e);
  4021. }
  4022. }
  4023. }
  4024.  
  4025.  
  4026. inter
  4027.  
  4028. import java.util.*;
  4029. import java.io.*;
  4030. import java.net.*;
  4031. import java.rmi.*;
  4032. public interface inter extends Remote
  4033. {
  4034. public int fact(int n) throws RemoteException;
  4035. }
  4036.  
  4037.  
  4038.  
  4039.  
  4040. inter tp
  4041.  
  4042.  
  4043. import java.util.*;
  4044. import java.io.*;
  4045. import java.net.*;
  4046. import java.rmi.*;
  4047. import java.rmi.server.*;
  4048. class inter_tp extends UnicastRemoteObject implements inter
  4049. {
  4050. inter_tp() throws RemoteException
  4051. {
  4052. //super();
  4053. }
  4054. public int fact(int n) throws RemoteException
  4055. {
  4056.  
  4057. int p=1;
  4058. for(int i=1 ; i<=n ; i++)
  4059. p*=i;
  4060. return p;
  4061.  
  4062. }
  4063. }
  4064.  
  4065.  
  4066. /// rmi atif
  4067.  
  4068. inter
  4069.  
  4070. import java.util.*;
  4071. import java.io.*;
  4072. import java.net.*;
  4073. import java.rmi.*;
  4074. public interface inter extends Remote
  4075. {
  4076. public int fact(int n) throws RemoteException;
  4077. }
  4078.  
  4079.  
  4080. inter_tp
  4081.  
  4082. import java.util.*;
  4083. import java.io.*;
  4084. import java.net.*;
  4085. import java.rmi.*;
  4086. import java.rmi.server.*;
  4087. class inter_tp extends UnicastRemoteObject implements inter
  4088. {
  4089. inter_tp() throws RemoteException
  4090. {
  4091. //super();
  4092. }
  4093. public int fact(int n) throws RemoteException
  4094. {
  4095.  
  4096. int p=1;
  4097. for(int i=1 ; i<=n ; i++)
  4098. p*=i;
  4099. return p;
  4100.  
  4101. }
  4102. }
  4103.  
  4104. rmiServer
  4105.  
  4106. import java.io.*;
  4107. import java.net.*;
  4108. import java.rmi.*;
  4109. import java.rmi.server.*;
  4110. public class rmiServer
  4111. {
  4112. public static void main(String[] args)
  4113. {
  4114. try
  4115. {
  4116. inter_tp ob = new inter_tp();
  4117. Naming.bind("fact",ob);
  4118. }
  4119. catch(Exception e)
  4120. {
  4121. System.out.println(e);
  4122. }
  4123. }
  4124. }
  4125.  
  4126. rmiClient
  4127.  
  4128. import java.rmi.*;
  4129. import java.rmi.server.*;
  4130. import java.io.*;
  4131. class rmiClient
  4132. {
  4133. public static void main(String[] args)
  4134. {
  4135. try
  4136. {
  4137. inter ob1 = (inter)Naming.lookup("rmi://127.0.0.1/fact");
  4138. System.out.println(ob1.fact(3));
  4139. }
  4140. catch(Exception e)
  4141. {
  4142. System.out.println(e);
  4143. }
  4144. }
  4145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement