KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > net > MyServer


1 package org.sapia.ubik.net;
2
3
4 /**
5  * @author Yanick Duchesne
6  * <dl>
7  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
8  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
9  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
10  * </dl>
11  */

12 public class MyServer extends SocketServer {
13   /**
14    * Constructor for MyServer.
15    */

16   public MyServer() throws java.io.IOException JavaDoc {
17     super(6666, new MyThreadPool(), new DefaultUbikServerSocketFactory());
18   }
19
20   public static void main(String JavaDoc[] args) {
21     try {
22       MyServer svr = new MyServer();
23       Thread JavaDoc t = new Thread JavaDoc(svr);
24       t.start();
25       svr.waitStarted();
26       System.out.println("Server started");
27
28       while (true) {
29         Thread.sleep(100000);
30       }
31     } catch (Exception JavaDoc e) {
32       e.printStackTrace();
33     }
34   }
35
36   static class MyThreadPool extends ThreadPool {
37     MyThreadPool() {
38       super("myThread", true, 10);
39     }
40
41     /**
42      * @see org.sapia.ubik.net.Pool#doNewObject()
43      */

44     protected PooledThread newThread() throws Exception JavaDoc {
45       return new MyPooledThread();
46     }
47   }
48
49   static class MyPooledThread extends PooledThread {
50     /**
51      * @see org.sapia.ubik.net.PooledThread#doExec(Object)
52      */

53     protected void doExec(Object JavaDoc task) {
54       Connection conn = ((Request) task).getConnection();
55
56       try {
57         while (true) {
58           System.out.println(conn.receive());
59           conn.send("Hello");
60         }
61       } catch (Throwable JavaDoc t) {
62         conn.close();
63         t.printStackTrace();
64       }
65     }
66   }
67 }
68
Popular Tags