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 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 try 61 { 62 HTTPEndPoint client = new HTTPEndPoint(client_socket); 63 client.start(); 64 } 65 catch (IOException ex1) 66 { 67 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 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 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 |