KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > server > web > HTTPConnectionListener


1 package com.quikj.server.web;
2
3 import com.quikj.server.framework.*;
4
5 import java.io.*;
6 import java.net.*;
7
8 public class HTTPConnectionListener extends AceThread
9 {
10     public HTTPConnectionListener(int port)
11     throws IOException
12     {
13         super("HTTPConnectionListener", true);
14         
15         setPriority(MAX_PRIORITY);
16         
17         socket = new ServerSocket(port);
18         
19         instance = this;
20     }
21     
22     public static HTTPConnectionListener getInstance()
23     {
24         return instance;
25     }
26     
27     public void dispose()
28     {
29         quit = true;
30         if (socket != null)
31         {
32             try
33             {
34                 socket.close();
35                 socket = null;
36             }
37             catch (IOException ex)
38             {
39                 // print error message
40
AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
41                 "HTTPConnectionListener.dispose() -- Could not close the server socket - "
42                 + ex.getMessage());
43                 
44             }
45         }
46         
47         super.dispose();
48     }
49     
50     public void run()
51     {
52         try
53         {
54             while (true)
55             {
56                 Socket client_socket = socket.accept();
57                 
58                 
59                 // a connection has been received
60
try
61                 {
62                     HTTPEndPoint client = new HTTPEndPoint(client_socket);
63                     client.start();
64                 }
65                 catch (IOException ex1)
66                 {
67                     // print error message
68
AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
69                     "HTTPConnectionListener.run() -- IO error occured while creating the HTTP message handler thread - "
70                     + ex1.getMessage());
71                     
72                     try
73                     {
74                         client_socket.close();
75                     }
76                     catch (IOException ex2)
77                     {
78                         // print error message
79
AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
80                         "HTTPConnectionListener.run() -- IO error occured while creating the HTTP message handler thread - "
81                         + ex2.getMessage());
82                     }
83                 }
84                 
85             }
86         }
87         catch (IOException ex)
88         {
89             if (quit == false)
90             {
91                 // print error message
92
AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
93                 "HTTPConnectionListener.run() -- IO error occured while listening for connection - "
94                 + ex.getMessage());
95             }
96             return;
97         }
98     }
99     
100     private boolean quit = false;
101     private ServerSocket socket = null;
102     private static HTTPConnectionListener instance = null;
103 }
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Popular Tags