KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > net > nio > tcp > acceptor > EchoChannelHandlerFactory


1 package org.sapia.ubik.net.nio.tcp.acceptor;
2
3 import java.io.BufferedReader JavaDoc;
4 import java.io.InputStreamReader JavaDoc;
5 import java.io.OutputStream JavaDoc;
6 import java.io.PrintStream JavaDoc;
7 import java.net.InetSocketAddress JavaDoc;
8 import java.net.Socket JavaDoc;
9
10 import org.sapia.ubik.net.nio.ChannelHandler;
11 import org.sapia.ubik.net.nio.ChannelHandlerFactory;
12 import org.sapia.ubik.net.nio.ChannelManager;
13 import org.sapia.ubik.net.nio.Dispatcher;
14 import org.sapia.ubik.net.nio.NioDebug;
15 import org.sapia.ubik.net.nio.acceptor.Acceptor;
16 import org.sapia.ubik.net.nio.dispatcher.ThreadedDispatcher;
17 import org.sapia.ubik.util.Debug;
18
19 /**
20  * @author Yanick Duchesne
21  *
22  * <dl>
23  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2005 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
24  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
25  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
26  * </dl>
27  */

28 public class EchoChannelHandlerFactory implements ChannelHandlerFactory{
29   
30   
31   /**
32    * @see org.sapia.ubik.net.nio.ChannelManager#createHandler()
33    */

34   public ChannelHandler createHandler() {
35     return new EchoHandler();
36   }
37   
38   public static void main(String JavaDoc[] args) {
39     Socket JavaDoc client = null;
40     Acceptor acceptor = null;
41     try{
42       ChannelManager manager = new TCPChannelManager(new InetSocketAddress JavaDoc(8080), new EchoChannelHandlerFactory());
43       //Dispatcher disp = new RWPDispatcher("RWP", 5, 10, 5);
44
Dispatcher disp = new ThreadedDispatcher();
45       acceptor = new Acceptor(manager, disp);
46       Debug debug = NioDebug.getInstance();
47       debug.on(true);
48       acceptor.setDebug(debug);
49       acceptor.start();
50       System.out.println("******* connecting...");
51       client = new Socket JavaDoc("localhost", 8080);
52       System.out.println("******* writing...");
53       OutputStream JavaDoc out = client.getOutputStream();
54       PrintStream JavaDoc ps = new PrintStream JavaDoc(out, true);
55       ps.println("Hello World!!!!");
56       ps.flush();
57       System.out.println("******* receiving...");
58       BufferedReader JavaDoc reader = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(client.getInputStream()));
59       System.out.println(reader.readLine());
60       System.out.println("******* received");
61     } catch (Exception JavaDoc e){
62       e.printStackTrace();
63     } finally{
64       if(client != null){
65         try{
66           client.close();
67         }catch(Exception JavaDoc e){}
68       }
69       if(acceptor != null){
70         acceptor.stop();
71       }
72     }
73   }
74
75 }
76
Popular Tags