Wednesday, September 24, 2008

Creating Java Socket Server

public void startSocket(int port) {
//this is the request handler class
MessageHandler handler = new MessageHandler();
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(port);
} catch (IOException e) {
//handle error when socket is not available
}
while (true) {
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
} catch (IOException e) {
//handle error when receiving request
}
PrintWriter out = null;
BufferedReader in = null;
try {
out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String request = getRequest(in);
//perform the request with handler
String result = handler.execute(request);
out.println(result);
} catch (SocketException ex) {
//handle error for process request
} catch (Exception e) {
//handle error for any kind of error
} finally {
try {
if (out != null)
out.flush();
out.close();
} catch (Exception ex) {
}
try {
in.close();
} catch (IOException e) {
}
try {
clientSocket.close();
} catch (Exception e) {
}
}//end of processing
}//end of one request processing
}

No comments: