Results 1 to 1 of 1
-
How to create a Quote Server in Java
Java Code:import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Date; public class QuoteServer { public static void main(String[] args) throws IOException { new QuoteServerThread().start(); } } class QuoteServerThread extends Thread { private DatagramSocket socket = null; private DataInputStream in = null; private boolean moreQuotes = true; public QuoteServerThread() throws IOException { super("QuoteServerThread"); socket = new DatagramSocket(4445); try { in = new DataInputStream(new FileInputStream("one-liners.txt")); } catch (FileNotFoundException e) { System.err .println("Could not open quote file. Serving time instead."); } } public void run() { while (moreQuotes) { try { byte[] buf = new byte[256]; // receive request DatagramPacket packet = new DatagramPacket(buf, buf.length); socket.receive(packet); // figure out response String dString = null; if (in == null) dString = new Date().toString(); else dString = getNextQuote(); dString.getBytes(0, dString.length(), buf, 0); // send the response to the client at "address" and "port" InetAddress address = packet.getAddress(); int port = packet.getPort(); packet = new DatagramPacket(buf, buf.length, address, port); socket.send(packet); } catch (IOException e) { e.printStackTrace(); moreQuotes = false; } } socket.close(); } private String getNextQuote() { String returnValue = null; try { if ((returnValue = in.readLine()) == null) { in.close(); moreQuotes = false; returnValue = "No more quotes. Goodbye."; } } catch (IOException e) { returnValue = "IOException occurred in server."; } return returnValue; } } ///////////////////////////////////////////////// import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class QuoteClient { public static void main(String[] args) throws IOException { if (args.length != 1) { System.out.println("Usage: java QuoteClient <hostname>"); return; } // get a datagram socket DatagramSocket socket = new DatagramSocket(); // send request byte[] buf = new byte[256]; InetAddress address = InetAddress.getByName(args[0]); DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 4445); socket.send(packet); // get response packet = new DatagramPacket(buf, buf.length); socket.receive(packet); // display response String received = new String(packet.getData()); System.out.println("Quote of the Moment: " + received); socket.close(); } }
Similar Threads
-
How to create ToolTip in Java 3d
By roshithmca in forum AWT / SwingReplies: 0Last Post: 02-04-2008, 06:57 AM -
Automation server can't create object
By katie in forum JavaServer Pages (JSP) and JSTLReplies: 1Last Post: 08-06-2007, 10:53 PM -
how to create a menu bar in java
By tommy in forum New To JavaReplies: 1Last Post: 08-05-2007, 07:43 AM -
Create a Calculator in Java
By Albert in forum New To JavaReplies: 2Last Post: 07-04-2007, 08:01 AM -
how to create pdf document from java
By sreedharvlsi in forum New To JavaReplies: 1Last Post: 07-02-2007, 11:57 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks