Advertisement
letscheat1234

Nalla File3

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