diff options
| author | Paul Buetow <paul@buetow.org> | 2009-02-18 23:01:21 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2009-02-18 23:01:21 +0000 |
| commit | 89c679eb813611a2ede208b4c8e27c7f596b3be7 (patch) | |
| tree | f44c19435286e78b9e8002990e1b55183a4fbc49 /sources/client/ServerRequester.java | |
| parent | 177f346a9bbe455dc12fd26dfa2c586585c28c1e (diff) | |
added copyright to header
Diffstat (limited to 'sources/client/ServerRequester.java')
| -rw-r--r-- | sources/client/ServerRequester.java | 102 |
1 files changed, 53 insertions, 49 deletions
diff --git a/sources/client/ServerRequester.java b/sources/client/ServerRequester.java index 9cd7485..6ccb7ee 100644 --- a/sources/client/ServerRequester.java +++ b/sources/client/ServerRequester.java @@ -1,3 +1,7 @@ +/* NetCalendar 2006, 2009 (c) Dipl.-Inform. (FH) Paul C. Buetow + * http://netcalendar.buetow.org - netcalendar@dev.buetow.org + */ + /** * */ @@ -19,64 +23,64 @@ import shared.remotecall.*; * @author buetow */ public class ServerRequester { - /** - * This method creates a new client socket. - * @return Returns a client socket object. - * @throws IOException - */ - private static Socket makeClientSocket() throws IOException { - if (!Config.getBooleanValue("use_ssl")) { - Main.statusMessage("Making non-SSL Socket..."); - return new Socket(Config.getServerAddress(), Config.getIntValue("server_port")); + /** + * This method creates a new client socket. + * @return Returns a client socket object. + * @throws IOException + */ + private static Socket makeClientSocket() throws IOException { + if (!Config.getBooleanValue("use_ssl")) { + Main.statusMessage("Making non-SSL Socket..."); + return new Socket(Config.getServerAddress(), Config.getIntValue("server_port")); + } + + Main.statusMessage("Making SSL Socket..."); + //Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + SocketFactory socketFactory = SSLSocketFactory.getDefault(); + return socketFactory.createSocket(Config.getServerAddress(), Config.getIntValue("server_port")); } - Main.statusMessage("Making SSL Socket..."); - //Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - SocketFactory socketFactory = SSLSocketFactory.getDefault(); - return socketFactory.createSocket(Config.getServerAddress(), Config.getIntValue("server_port")); - } + /** + * Sends a client request to the netcalendar server end receives a server response object. + * @param clientRequest Specifies the client request to send to the calendar server. + * @return Returns the server response. It returns null if no response is available. + */ + public final static ServerResponse sendClientRequest(ClientRequest clientRequest) { + Main.statusMessage("Sending client request to server..."); - /** - * Sends a client request to the netcalendar server end receives a server response object. - * @param clientRequest Specifies the client request to send to the calendar server. - * @return Returns the server response. It returns null if no response is available. - */ - public final static ServerResponse sendClientRequest(ClientRequest clientRequest) { - Main.statusMessage("Sending client request to server..."); + ServerResponse serverResponse = null; - ServerResponse serverResponse = null; + try { + Socket socket = makeClientSocket(); + socket.setKeepAlive(true); - try { - Socket socket = makeClientSocket(); - socket.setKeepAlive(true); + // Send the client request to the server + OutputStream outputStream = socket.getOutputStream(); + ObjectOutput objectOutput = new ObjectOutputStream(outputStream); - // Send the client request to the server - OutputStream outputStream = socket.getOutputStream(); - ObjectOutput objectOutput = new ObjectOutputStream(outputStream); + objectOutput.writeObject(clientRequest); + objectOutput.flush(); - objectOutput.writeObject(clientRequest); - objectOutput.flush(); + // We only want to receive data if the request new events, not if we only send + // changed events! + if (clientRequest.requestsNewEvents()) { + // Recieve the server's response + InputStream inputStream = socket.getInputStream(); + ObjectInput objectInput = new ObjectInputStream(inputStream); + serverResponse = (ServerResponse) objectInput.readObject(); + } - // We only want to receive data if the request new events, not if we only send - // changed events! - if (clientRequest.requestsNewEvents()) { - // Recieve the server's response - InputStream inputStream = socket.getInputStream(); - ObjectInput objectInput = new ObjectInputStream(inputStream); - serverResponse = (ServerResponse) objectInput.readObject(); - } + objectOutput.close(); + socket.close(); - objectOutput.close(); - socket.close(); + } catch (Exception e) { + Main.infoMessage("Client error during serialization: " + e.getMessage()); + Main.statusMessage("Error: Client request did not succeed! Server down?"); + return serverResponse; + } - } catch (Exception e) { - Main.infoMessage("Client error during serialization: " + e.getMessage()); - Main.statusMessage("Error: Client request did not succeed! Server down?"); - return serverResponse; + Main.statusMessage("Last client request succeeded"); + // Returns null if no response is available! + return serverResponse; } - - Main.statusMessage("Last client request succeeded"); - // Returns null if no response is available! - return serverResponse; - } } |
