From 56ae7740332e1289ef6e75d4865c315f426d36b4 Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 13:54:23 -0400 Subject: [PATCH 1/8] added ServerConsole --- code/simplechat1/ServerConsole.java | 128 ++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 code/simplechat1/ServerConsole.java diff --git a/code/simplechat1/ServerConsole.java b/code/simplechat1/ServerConsole.java new file mode 100644 index 0000000..01f92dc --- /dev/null +++ b/code/simplechat1/ServerConsole.java @@ -0,0 +1,128 @@ +// This file contains material supporting section 3.7 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +import java.io.*; +import client.*; +import common.*; + +/** + * This class constructs the UI for a server chat client. It implements the + * chat interface in order to activate the display() method. + * Warning: Some of the code here is cloned in ServerConsole + * + * @author François Bélanger + * @author Dr Timothy C. Lethbridge + * @author Dr Robert Laganière + * @version July 2000 + */ +public class ServerConsole implements ChatIF +{ + //Class variables ************************************************* + + /** + * The default port to connect on. + */ + final public static int DEFAULT_PORT = 5555; + + //Instance variables ********************************************** + + /** + * The instance of the EchoServer class. + */ + EchoServer server; + + + //Constructors **************************************************** + + /** + * Constructs an instance of the ServerConsole UI. + * + * @param port The port to connect on. + */ + public ServerConsole(int port) + { + try + { + server = new EchoServer(port, this); + } + catch(IOException exception) + { + System.out.println("Error: Can't setup connection!" + + " Terminating client."); + System.exit(1); + } + try + { + server.listen(); + } + catch (Exception ex) + { + System.out.println("Error when attempting to listen."); + } + } + + + //Instance methods ************************************************ + + /** + * This method waits for input from the console. Once it is + * received, it sends it to the client's message handler. + */ + public void accept() + { + try + { + BufferedReader fromConsole = + new BufferedReader(new InputStreamReader(System.in)); + String message; + + while (true) + { + message = fromConsole.readLine(); + server.handleMessageFromServerUI(message); + } + } + catch (Exception ex) + { + System.out.println + ("Unexpected error while reading from console!"); + } + } + + /** + * This method overrides the method in the ChatIF interface. It + * displays a message onto the screen. + * + * @param message The string to be displayed. + */ + public void display(String message) + { + System.out.println("> " + message); + } + + + //Class methods *************************************************** + + /** + * This method is responsible for the creation of the Client UI. + * + * @param args[0] The host to connect to. + */ + public static void main(String[] args) + { + int port = 5555; //The port number + + try + { + port = Integer.parseInt(args[0]); + } + catch(ArrayIndexOutOfBoundsException e) + { + port = DEFAULT_PORT; + } + ServerConsole chat = new ServerConsole(port); + chat.accept(); //Wait for console data + } +} +//End of ConsoleChat class From 55442ca671b5a7f9ec0c5bbe46252679a2a292a9 Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 13:54:39 -0400 Subject: [PATCH 2/8] Updated ChatClient and ClientConsole --- code/simplechat1/ClientConsole.java | 46 +++++++----- code/simplechat1/client/ChatClient.java | 99 +++++++++++++++++++++++-- 2 files changed, 123 insertions(+), 22 deletions(-) diff --git a/code/simplechat1/ClientConsole.java b/code/simplechat1/ClientConsole.java index c9bb4e9..052e539 100644 --- a/code/simplechat1/ClientConsole.java +++ b/code/simplechat1/ClientConsole.java @@ -5,6 +5,7 @@ import java.io.*; import client.*; import common.*; +import java.util.Random; /** * This class constructs the UI for a chat client. It implements the @@ -41,21 +42,19 @@ public class ClientConsole implements ChatIF * @param host The host to connect to. * @param port The port to connect on. */ - public ClientConsole(String host, int port) + public ClientConsole(String loginID, String host, int port) { try { - client= new ChatClient(host, port, this); + client= new ChatClient(loginID, host, port, this); } catch(IOException exception) { - System.out.println("Error: Can't setup connection!" - + " Terminating client."); - System.exit(1); + System.out.println("Cannot open connection. Awaiting command."); } } - + //Instance methods ************************************************ /** @@ -78,8 +77,7 @@ public void accept() } catch (Exception ex) { - System.out.println - ("Unexpected error while reading from console!"); + System.out.println("Unexpected error while reading from console!"); } } @@ -100,22 +98,36 @@ public void display(String message) /** * This method is responsible for the creation of the Client UI. * - * @param args[0] The host to connect to. + * @param args[0] The loginID to connect to. + * @param args[1] The host to connect to. + * @param args[2] The port to connect to. */ public static void main(String[] args) { + String loginID = ""; String host = ""; - int port = 0; //The port number - - try - { - host = args[0]; + int port = 5555; //The port number + try{ + loginID = args[0]; } - catch(ArrayIndexOutOfBoundsException e) - { + catch(ArrayIndexOutOfBoundsException ex){ + System.out.println("You need to enter a login ID. Terminating client.."); + System.exit(1); + } + try{ + host = args[1]; + } + catch(ArrayIndexOutOfBoundsException ex){ host = "localhost"; } - ClientConsole chat= new ClientConsole(host, DEFAULT_PORT); + try{ + port = Integer.parseInt(args[2]); + } + catch(ArrayIndexOutOfBoundsException ex) + { + port = DEFAULT_PORT; + } + ClientConsole chat= new ClientConsole(loginID, host, port); chat.accept(); //Wait for console data } } diff --git a/code/simplechat1/client/ChatClient.java b/code/simplechat1/client/ChatClient.java index fe1401e..8085e35 100644 --- a/code/simplechat1/client/ChatClient.java +++ b/code/simplechat1/client/ChatClient.java @@ -27,7 +27,8 @@ public class ChatClient extends AbstractClient */ ChatIF clientUI; - + private String loginID; + //Constructors **************************************************** /** @@ -37,13 +38,23 @@ public class ChatClient extends AbstractClient * @param port The port number to connect on. * @param clientUI The interface type variable. */ - public ChatClient(String host, int port, ChatIF clientUI) throws IOException { super(host, port); //Call the superclass constructor this.clientUI = clientUI; + this.loginID = "Guest"; openConnection(); + sendToServer("#loginID " + loginID); + } + public ChatClient(String loginID, String host, int port, ChatIF clientUI) + throws IOException + { + super(host, port); //Call the superclass constructor + this.clientUI = clientUI; + this.loginID = loginID; + openConnection(); + sendToServer("#loginID " + loginID); } @@ -59,21 +70,99 @@ public void handleMessageFromServer(Object msg) clientUI.display(msg.toString()); } + // protected void connectionClosed() + // { + // clientUI.display("Connection closed! Exiting.."); + // } + + protected void connectionException(Exception exception) + { + clientUI.display("Connection to server closed."); + } /** * This method handles all data coming from the UI * * @param message The message from the UI. */ + public void handleMessageFromClientUI(String message) { try { - sendToServer(message); + if(message.charAt(0) == '#'){ + if(message.equals("#quit")){ + closeConnection(); + clientUI.display("Connection closed."); + System.exit(0); + } + if(message.equals("#logoff")){ + try{ + closeConnection(); + clientUI.display("Connection closed."); + } + catch(Exception ex){ + clientUI.display("You have disconnected."); + } + } + if(message.startsWith("#sethost")){ + if(!isConnected()){ + try{ + String h = message.substring(9); // hostname begins from index 9 to end (includes space) + setHost(h); + clientUI.display("New host set to " + getHost()); + } + catch(Exception e){ + clientUI.display("Couldn't set host.. error occurred."); + } + } + else{ + clientUI.display("Error: You must disconnect from the server."); + } + } + if(message.startsWith("#setport")){ + if(!isConnected()){ + try{ + String p = message.substring(9); // same as above (for port however) + setPort(Integer.parseInt(p)); + clientUI.display("New port set to " + getPort()); + } + catch(Exception e){ + clientUI.display("Couldn't set port.. error occurred."); + } + } + else{ + clientUI.display("Error: You must disconnect from the server."); + } + } + if(message.startsWith("#login")){ + if(!isConnected()){ + loginID = message.substring(7); + try{ + openConnection(); + sendToServer("#loginID " + loginID); + } + catch(Exception ex){ + clientUI.display("Error: Could not connect to server."); + } + } + else{ + clientUI.display("Error: You must disconnect from the server."); + } + } + if(message.equals("#gethost")){ + clientUI.display("Host: " + getHost()); + } + if(message.equals("#getport")){ + clientUI.display("Port: " + getPort()); + } + } + else{ + sendToServer(message); + } } catch(IOException e) { - clientUI.display - ("Could not send message to server. Terminating client."); + clientUI.display("Could not send message to server. Terminating client."); quit(); } } From 31d554141eaab78ad4de4fc4062654de876b57eb Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 13:54:48 -0400 Subject: [PATCH 3/8] Updated EchoServer --- code/simplechat1/EchoServer.java | 128 ++++++++++++++++++++++++++++--- 1 file changed, 117 insertions(+), 11 deletions(-) diff --git a/code/simplechat1/EchoServer.java b/code/simplechat1/EchoServer.java index d4f3a1a..fe415ca 100644 --- a/code/simplechat1/EchoServer.java +++ b/code/simplechat1/EchoServer.java @@ -4,6 +4,7 @@ import java.io.*; import ocsf.server.*; +import common.*; /** * This class overrides some of the methods in the abstract @@ -25,7 +26,7 @@ public class EchoServer extends AbstractServer final public static int DEFAULT_PORT = 5555; //Constructors **************************************************** - + ChatIF serverUI; /** * Constructs an instance of the echo server. * @@ -36,6 +37,11 @@ public EchoServer(int port) super(port); } + public EchoServer(int port, ChatIF serverUI) throws IOException { + super(port); + this.serverUI = serverUI; + } + //Instance methods ************************************************ @@ -45,21 +51,108 @@ public EchoServer(int port) * @param msg The message received from the client. * @param client The connection from which the message originated. */ - public void handleMessageFromClient - (Object msg, ConnectionToClient client) - { - System.out.println("Message received: " + msg + " from " + client); - this.sendToAllClients(msg); + public void handleMessageFromClient(Object msg, ConnectionToClient client){ + if(msg.toString().startsWith("#login")){ + if(client.getInfo("loginID") != null){ + try{ + System.out.println("You are already logged in."); + } + catch(Exception e){} + } + client.setInfo("loginID",msg.toString().substring(8)); + try{ + client.sendToClient(client.getInfo("loginID") + " has logged on."); + } + catch(IOException g){} + } + else{ + try{ + if(client.getInfo("loginID") == null){ + System.out.println("Could not login.. use #login has first argument!"); + client.close(); + } + } + catch(IOException e){ + e.printStackTrace(); + } + } + System.out.println("Message received: " + msg + " from " + client.getInfo("loginID") + ", Users IP: " + client); + if(msg.toString().startsWith("#login")){ + if(client.getInfo("loginID") != null){ + try{ + System.out.println(client.getInfo("loginID") + " has logged on."); + } + catch(Exception gg){} + } + } + this.sendToAllClients(client.getInfo("loginID") + " > " + msg); + } + + public void handleMessageFromServerUI(String message){ + try{ + if(message.charAt(0) == '#'){ + if(message.equals("#quit")){ + stopListening(); + close(); + System.out.println("Server is quitting.."); + System.exit(1); + } + if(message.equals("#stop")){ + stopListening(); + this.sendToAllClients("WARNING - Server has stopped listening for connections."); + } + if(message.equals("#close")){ + close(); + } + if(message.startsWith("#setport")){ + if(!isListening()){ + try{ + String p = message.substring(9); + setPort(Integer.parseInt(p)); + System.out.println("The server port has been changed to: " + getPort()); + } + catch(Exception ex){ + System.out.println("Could not set the server port!"); + } + } + else{ + System.out.println("Server must be stopped."); + } + } + if(message.equals("#start")){ + if(!isListening()){ + try{ + listen(); + } + catch(Exception el){ + System.out.println("Could not listen for new connections."); + } + } + else{ + System.out.println("Server must be stopped."); + } + } + if(message.equals("#getport")){ + System.out.println("Port: " + getPort()); + } + } + else{ + serverUI.display(message); + this.sendToAllClients("SERVER MSG> " + message); + } + } + catch(IOException e){ + System.out.println("Could not send message from server. Terminating server."); + System.exit(1); + } } - /** * This method overrides the one in the superclass. Called * when the server starts listening for connections. */ protected void serverStarted() { - System.out.println - ("Server listening for connections on port " + getPort()); + System.out.println("Server listening for connections on port " + getPort()); } /** @@ -68,9 +161,22 @@ protected void serverStarted() */ protected void serverStopped() { - System.out.println - ("Server has stopped listening for connections."); + System.out.println("Server has stopped listening for connections."); + } + + protected void clientConnected(ConnectionToClient client) { + System.out.println("A new client is attempting to connect to the server."); } + synchronized protected void clientDisconnected(ConnectionToClient client) { + System.out.println(client.getInfo("loginID") + " has disconnected from the server."); + this.sendToAllClients(client.getInfo("loginID") + " has disconnected from the server."); + } + synchronized protected void clientException(ConnectionToClient client, Throwable exception) { + System.out.println(client.getInfo("loginID") + " has disconnected from the server."); + this.sendToAllClients(client.getInfo("loginID") + " has disconnected from the server."); + } + + //Class methods *************************************************** From 437fa47ac299d68e80d628b5d8900d047c2c0daf Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 14:17:02 -0400 Subject: [PATCH 4/8] removed import --- code/simplechat1/ClientConsole.java | 1 - 1 file changed, 1 deletion(-) diff --git a/code/simplechat1/ClientConsole.java b/code/simplechat1/ClientConsole.java index 052e539..49e961d 100644 --- a/code/simplechat1/ClientConsole.java +++ b/code/simplechat1/ClientConsole.java @@ -5,7 +5,6 @@ import java.io.*; import client.*; import common.*; -import java.util.Random; /** * This class constructs the UI for a chat client. It implements the From 887c8aaaca3375261e784b1981e4b5a3aef608b8 Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 15:38:28 -0400 Subject: [PATCH 5/8] finished up clientconsole --- code/simplechat1/ClientConsole.java | 1 + 1 file changed, 1 insertion(+) diff --git a/code/simplechat1/ClientConsole.java b/code/simplechat1/ClientConsole.java index 49e961d..09bfb96 100644 --- a/code/simplechat1/ClientConsole.java +++ b/code/simplechat1/ClientConsole.java @@ -50,6 +50,7 @@ public ClientConsole(String loginID, String host, int port) catch(IOException exception) { System.out.println("Cannot open connection. Awaiting command."); + System.exit(1); // Added because commands don't work.. } } From a3418e6322ff0b362b18b53e51248923caddb57d Mon Sep 17 00:00:00 2001 From: HaiderZak <37321974+HaiderZak@users.noreply.github.com> Date: Sat, 30 May 2020 15:56:20 -0400 Subject: [PATCH 6/8] Test Cases --- Test Cases.zip | Bin 0 -> 318283 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Test Cases.zip diff --git a/Test Cases.zip b/Test Cases.zip new file mode 100644 index 0000000000000000000000000000000000000000..e48d99ad2222a29587337e38bdfb72512106c4b4 GIT binary patch literal 318283 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

Z@{c+MT<9uJVYtN2vB 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 `f@C%6=a?f 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

  • {i1$FVSjU)r6|&`+7L+jZ5HlK9 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

    xR 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 z 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 literal 0 HcmV?d00001 From cc62693324b528458f0b103cc1aecf093a660268 Mon Sep 17 00:00:00 2001 From: HaiderZak <37321974+HaiderZak@users.noreply.github.com> Date: Sat, 30 May 2020 16:04:10 -0400 Subject: [PATCH 7/8] edited test cases --- Test Cases.zip | Bin 318283 -> 327186 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Test Cases.zip b/Test Cases.zip index e48d99ad2222a29587337e38bdfb72512106c4b4..bc4291890a7d71e1ff9f6683aba271de2b9a4943 100644 GIT binary patch delta 9399 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 W$r=nP8WjW;gylzHz-yR~uKpjmJx?(J delta 511 zcmYk3ODIH97{~8D=c|#qDUZe2jAll8M5JbFvQVTZBYDNb6ta*Z8ChXL7L#HYUf)V) zqcoHhGuhZ#Adj+=1r}0507N<_9-|u{V-@kK~GWloGe5uvTp+L}WeyFDPUzshnn_rMHca4oZE2h3!MDf%yc>-V%7Gw zBy{taIzvt+sbs&!puPYz<6RQU`Dm}9DpORjJ#El^iXLDwMOi~zf6B${uMK*OQ-?@` zBDJL{QdcVm($LMk6WZy(*ED6QSkd7o%FWoGp=lNm=o!NqaPg-8KQiG{3UV<|r5Br> m{_lHKO2JnRwHpIt?lG0JkqdlOp(w{8I0Q)>AMZ-~Is@JjwY0 From 3b0d49851bac2aab3c63c9aacee6231c75143a28 Mon Sep 17 00:00:00 2001 From: HaiderZak Date: Sat, 30 May 2020 16:40:59 -0400 Subject: [PATCH 8/8] OCSF --- .../ocsf/client/AbstractClient.java | 333 +++++++++++++ .../ocsf/client/AdaptableClient.java | 82 ++++ .../ocsf/client/ObservableClient.java | 181 +++++++ code/simplechat1/ocsf/index.html | 22 + .../ocsf/server/AbstractServer.java | 459 ++++++++++++++++++ .../ocsf/server/AdaptableServer.java | 129 +++++ .../ocsf/server/ConnectionToClient.java | 270 +++++++++++ .../server/ObservableOriginatorServer.java | 165 +++++++ .../ocsf/server/ObservableServer.java | 309 ++++++++++++ .../ocsf/server/OriginatorMessage.java | 61 +++ 10 files changed, 2011 insertions(+) create mode 100644 code/simplechat1/ocsf/client/AbstractClient.java create mode 100644 code/simplechat1/ocsf/client/AdaptableClient.java create mode 100644 code/simplechat1/ocsf/client/ObservableClient.java create mode 100644 code/simplechat1/ocsf/index.html create mode 100644 code/simplechat1/ocsf/server/AbstractServer.java create mode 100644 code/simplechat1/ocsf/server/AdaptableServer.java create mode 100644 code/simplechat1/ocsf/server/ConnectionToClient.java create mode 100644 code/simplechat1/ocsf/server/ObservableOriginatorServer.java create mode 100644 code/simplechat1/ocsf/server/ObservableServer.java create mode 100644 code/simplechat1/ocsf/server/OriginatorMessage.java diff --git a/code/simplechat1/ocsf/client/AbstractClient.java b/code/simplechat1/ocsf/client/AbstractClient.java new file mode 100644 index 0000000..e905636 --- /dev/null +++ b/code/simplechat1/ocsf/client/AbstractClient.java @@ -0,0 +1,333 @@ +// This file contains material supporting section 3.7 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.client; + +import java.io.*; +import java.net.*; + +/** + * The AbstractClient contains all the methods necessary to set + * up the client side of a client-server architecture. When a client is thus + * connected to the server, the two programs can then exchange + * Object instances. + *

    + * Method handleMessageFromServer must be defined by a concrete + * subclass. Several other hook methods may also be overriden. + *

    + * Several public service methods are provided to application that use this + * framework. + *

    + * Project Name: OCSF (Object Client-Server Framework) + *

    + * + * @author Dr. Robert Laganière + * @author Dr. Timothy C. Lethbridge + * @author François Bél;langer + * @author Paul Holden + * @version February 2001 (2.12) + */ +public abstract class AbstractClient implements Runnable { + + // INSTANCE VARIABLES *********************************************** + + /** + * Sockets are used in the operating system as channels of communication + * between two processes. + * + * @see java.net.Socket + */ + private Socket clientSocket; + + /** + * The stream to handle data going to the server. + */ + private ObjectOutputStream output; + + /** + * The stream to handle data from the server. + */ + private ObjectInputStream input; + + /** + * The thread created to read data from the server. + */ + private Thread clientReader; + + /** + * Indicates if the thread is ready to stop. Needed so that the loop in the + * run method knows when to stop waiting for incoming messages. + */ + private boolean readyToStop = false; + + /** + * The server's host name. + */ + private String host; + + /** + * The port number. + */ + private int port; + + // CONSTRUCTORS ***************************************************** + + /** + * Constructs the client. + * + * @param host + * the server's host name. + * @param port + * the port number. + */ + public AbstractClient(String host, int port) { + // Initialize variables + this.host = host; + this.port = port; + } + + // INSTANCE METHODS ************************************************* + + /** + * Opens the connection with the server. If the connection is already + * opened, this call has no effect. + * + * @exception IOException + * if an I/O error occurs when opening. + */ + final public void openConnection() throws IOException { + // Do not do anything if the connection is already open + if (isConnected()) + return; + + // Create the sockets and the data streams + try { + clientSocket = new Socket(host, port); + output = new ObjectOutputStream(clientSocket.getOutputStream()); + input = new ObjectInputStream(clientSocket.getInputStream()); + } catch (IOException ex) + // All three of the above must be closed when there is a failure + // to create any of them + { + try { + closeAll(); + } catch (Exception exc) { + } + + throw ex; // Rethrow the exception. + } + + clientReader = new Thread(this); // Create the data reader thread + readyToStop = false; + clientReader.start(); // Start the thread + } + + /** + * Sends an object to the server. This is the only way that methods should + * communicate with the server. + * + * @param msg + * The message to be sent. + * @exception IOException + * if an I/O error occurs when sending + */ + final public void sendToServer(Object msg) throws IOException { + if (clientSocket == null || output == null) + throw new SocketException("socket does not exist"); + + output.writeObject(msg); + } + + /** + * Reset the object output stream so we can use the same + * buffer repeatedly. This would not normally be used, but is necessary + * in some circumstances when Java refuses to send data that it thinks has been sent. + */ + final public void forceResetAfterSend() throws IOException { + output.reset(); + } + + /** + * Closes the connection to the server. + * + * @exception IOException + * if an I/O error occurs when closing. + */ + final public void closeConnection() throws IOException { + // Prevent the thread from looping any more + readyToStop = true; + + try { + closeAll(); + } finally { + // Call the hook method + connectionClosed(); + } + } + + // ACCESSING METHODS ------------------------------------------------ + + /** + * @return true if the client is connnected. + */ + final public boolean isConnected() { + return clientReader != null && clientReader.isAlive(); + } + + /** + * @return the port number. + */ + final public int getPort() { + return port; + } + + /** + * Sets the server port number for the next connection. The change in port + * only takes effect at the time of the next call to openConnection(). + * + * @param port + * the port number. + */ + final public void setPort(int port) { + this.port = port; + } + + /** + * @return the host name. + */ + final public String getHost() { + return host; + } + + /** + * Sets the server host for the next connection. The change in host only + * takes effect at the time of the next call to openConnection(). + * + * @param host + * the host name. + */ + final public void setHost(String host) { + this.host = host; + } + + /** + * returns the client's description. + * + * @return the client's Inet address. + */ + final public InetAddress getInetAddress() { + return clientSocket.getInetAddress(); + } + + // RUN METHOD ------------------------------------------------------- + + /** + * Waits for messages from the server. When each arrives, a call is made to + * handleMessageFromServer(). Not to be explicitly called. + */ + final public void run() { + connectionEstablished(); + + // The message from the server + Object msg; + + // Loop waiting for data + + try { + while (!readyToStop) { + // Get data from Server and send it to the handler + // The thread waits indefinitely at the following + // statement until something is received from the server + msg = input.readObject(); + + // Concrete subclasses do what they want with the + // msg by implementing the following method + handleMessageFromServer(msg); + } + } catch (Exception exception) { + if (!readyToStop) { + try { + closeAll(); + } catch (Exception ex) { + } + + connectionException(exception); + } + } finally { + clientReader = null; + } + } + + // METHODS DESIGNED TO BE OVERRIDDEN BY CONCRETE SUBCLASSES --------- + + /** + * Hook method called after the connection has been closed. The default + * implementation does nothing. The method may be overriden by subclasses to + * perform special processing such as cleaning up and terminating, or + * attempting to reconnect. + */ + protected void connectionClosed() { + } + + /** + * Hook method called each time an exception is thrown by the client's + * thread that is waiting for messages from the server. The method may be + * overridden by subclasses. + * + * @param exception + * the exception raised. + */ + protected void connectionException(Exception exception) { + } + + /** + * Hook method called after a connection has been established. The default + * implementation does nothing. It may be overridden by subclasses to do + * anything they wish. + */ + protected void connectionEstablished() { + } + + /** + * Handles a message sent from the server to this client. This MUST be + * implemented by subclasses, who should respond to messages. + * + * @param msg + * the message sent. + */ + protected abstract void handleMessageFromServer(Object msg); + + // METHODS TO BE USED FROM WITHIN THE FRAMEWORK ONLY ---------------- + + /** + * Closes all aspects of the connection to the server. + * + * @exception IOException + * if an I/O error occurs when closing. + */ + private void closeAll() throws IOException { + try { + // Close the socket + if (clientSocket != null) + clientSocket.close(); + + // Close the output stream + if (output != null) + output.close(); + + // Close the input stream + if (input != null) + input.close(); + } finally { + // Set the streams and the sockets to NULL no matter what + // Doing so allows, but does not require, any finalizers + // of these objects to reclaim system resources if and + // when they are garbage collected. + output = null; + input = null; + clientSocket = null; + } + } +} +// end of AbstractClient class \ No newline at end of file diff --git a/code/simplechat1/ocsf/client/AdaptableClient.java b/code/simplechat1/ocsf/client/AdaptableClient.java new file mode 100644 index 0000000..143592e --- /dev/null +++ b/code/simplechat1/ocsf/client/AdaptableClient.java @@ -0,0 +1,82 @@ +// This file contains material supporting section 6.13 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.client; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** +* The AdaptableClient is a class +* that extends the AbstractClient in place of +* the ObservableClient .

    +* +* Project Name: OCSF (Object Client-Server Framework)

    +* +* @author Dr. Robert Laganière +* @version Febuary 2001 +*/ +class AdaptableClient extends AbstractClient +{ + //Instance variables ********************************************** + + /** + * The proxy used to simulate multiple class inheritance. + */ + private ObservableClient client; + +// CONSTRUCTORS ***************************************************** + + /** + * Constructs the client adapter. + * + * @param host the server's host name. + * @param port the port number. + */ + public AdaptableClient(String host, int port, ObservableClient client) + { + super(host, port); + this.client = client; + } + +// OVERRIDDEN METHODS ************************************************* + + /** + * Hook method called after the connection has been closed. + */ + final protected void connectionClosed() + { + client.connectionClosed(); + } + + /** + * Hook method called after an exception + * is raised by the client listening thread. + * + * @param exception the exception raised. + */ + final protected void connectionException(Exception exception) + { + client.connectionException(exception); + } + + /** + * Hook method called after a connection has been established. + */ + final protected void connectionEstablished() + { + client.connectionEstablished(); + } + + /** + * Handles a message sent from the server to this client. + * + * @param msg the message sent. + */ + final protected void handleMessageFromServer(Object msg) + { + client.handleMessageFromServer(msg); + } +} diff --git a/code/simplechat1/ocsf/client/ObservableClient.java b/code/simplechat1/ocsf/client/ObservableClient.java new file mode 100644 index 0000000..a816488 --- /dev/null +++ b/code/simplechat1/ocsf/client/ObservableClient.java @@ -0,0 +1,181 @@ +// This file contains material supporting section 6.13 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.client; + +import java.util.*; +import java.io.*; +import java.net.*; + +/** + * This class acts as a subclass of AbstractClient + * and is also an Observable class. + * Each time a new message is received, observers are notified. + * + * @author Dr Robert Laganière + * @author Dr Timothy C. Lethbridge + * @author François Bélange + * @version Febuary 2001 + */ +public class ObservableClient extends Observable +{ + // Class variables *************************************************** + + /** + * Indicates occurence of a connection exception. + */ + public static final String CONNECTION_EXCEPTION = "#OC:Connection error."; + + /** + * Indicates a close of the connection to server. + */ + public static final String CONNECTION_CLOSED = "#OC:Connection closed."; + + /** + * Indicates establishment of a connection to server. + */ + public static final String CONNECTION_ESTABLISHED = "#OC:Connection established."; + + //Instance variables ********************************************** + + /** + * The service instance used to simulate multiple class inheritance. + */ + private AdaptableClient service; + + //Constructor ***************************************************** + + public ObservableClient(String host, int port) + { + service = new AdaptableClient(host, port, this); + } + + //Instance methods ************************************************ + + /** + * Opens the connections with the server. + */ + final public void openConnection() throws IOException + { + service.openConnection(); + } + + /** + * Closes the connection to the server. + */ + final public void closeConnection() throws IOException + { + service.closeConnection(); + } + + /** + * Sends an object to the server. This is the only way that + * methods should communicate with the server. + * + * @param msg The message to be sent. + */ + final public void sendToServer(Object msg) throws IOException + { + service.sendToServer(msg); + } + +// ACCESSING METHODS ------------------------------------------------ + + /** + * @used to find out if the client is connnected. + */ + final public boolean isConnected() + { + return service.isConnected(); + } + + /** + * @return the port number. + */ + final public int getPort() + { + return service.getPort(); + } + + /** + * Sets the server port number for the next connection. + * Only has effect if the client is not currently connected. + * + * @param port the port number. + */ + final public void setPort(int port) + { + service.setPort(port); + } + + /** + * @return the host name. + */ + final public String getHost() + { + return service.getHost(); + } + + /** + * Sets the server host for the next connection. + * Only has effect if the client is not currently connected. + * + * @param host the host name. + */ + final public void setHost(String host) + { + service.setHost(host); + } + + /** + * @return the client's Inet address. + */ + final public InetAddress getInetAddress() + { + return service.getInetAddress(); + } + + + /** + * This method is used to handle messages from the server. This method + * can be overriden but should always call notifyObservers(). + * + * @param message The message received from the client. + */ + protected void handleMessageFromServer(Object message) + { + setChanged(); + notifyObservers(message); + } + + /** + * Hook method called after the connection has been closed. + */ + protected void connectionClosed() + { + setChanged(); + notifyObservers(CONNECTION_CLOSED); + } + + /** + * Hook method called each time an exception + * is raised by the client listening thread. + * + * @param exception the exception raised. + */ + protected void connectionException(Exception exception) + { + setChanged(); + notifyObservers(CONNECTION_EXCEPTION); + } + + /** + * Hook method called after a connection has been established. + */ + protected void connectionEstablished() + { + setChanged(); + notifyObservers(CONNECTION_ESTABLISHED); + } +} diff --git a/code/simplechat1/ocsf/index.html b/code/simplechat1/ocsf/index.html new file mode 100644 index 0000000..13025a0 --- /dev/null +++ b/code/simplechat1/ocsf/index.html @@ -0,0 +1,22 @@ + + +Installing and Running OCSF + + + +

    To install OCSF, simply compile all the .java files in the client and +server directories.

    + +

    OCSF is a Framework, so this directory contains no main program. To +learn how it works, consult the book +"Object-Oriented Software Engineering: Practical Software Development +using UML and Java" by Lethbridge and Laganière.

    + +

    To use OCSF, import the "ocsf.client" or "ocsf.server" package in your +application code. Make sure that the ocsf directory is in your classpath +when you compile your application.

    + +

    Back to the source code page.

    + + + diff --git a/code/simplechat1/ocsf/server/AbstractServer.java b/code/simplechat1/ocsf/server/AbstractServer.java new file mode 100644 index 0000000..0134b22 --- /dev/null +++ b/code/simplechat1/ocsf/server/AbstractServer.java @@ -0,0 +1,459 @@ +// This file contains material supporting section 3.8 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +import java.net.*; +import java.util.*; +import java.io.*; + +/** +* The AbstractServer class maintains a thread that waits +* for connection attempts from clients. When a connection attempt occurs +* it creates a new ConnectionToClient instance which +* runs as a thread. When a client is thus connected to the +* server, the two programs can then exchange Object +* instances.

    +* +* Method handleMessageFromClient must be defined by +* a concrete subclass. Several other hook methods may also be +* overriden.

    +* +* Several public service methods are provided to applications that use +* this framework, and several hook methods are also available

    +* +* Project Name: OCSF (Object Client-Server Framework)

    +* +* @author Dr Robert Laganière +* @author Dr Timothy C. Lethbridge +* @author François Bélanger +* @author Paul Holden +* @version February 2001 (2.12) +* @see ocsf.server.ConnectionToClient +*/ +public abstract class AbstractServer implements Runnable +{ + // INSTANCE VARIABLES ********************************************* + + /** + * The server socket: listens for clients who want to connect. + */ + private ServerSocket serverSocket = null; + + /** + * The connection listener thread. + */ + private Thread connectionListener; + + /** + * The port number + */ + private int port; + + /** + * The server timeout while for accepting connections. + * After timing out, the server will check to see if a command to + * stop the server has been issued; it not it will resume accepting + * connections. + * Set to half a second by default. + */ + private int timeout = 500; + + /** + * The maximum queue length; i.e. the maximum number of clients that + * can be waiting to connect. + * Set to 10 by default. + */ + private int backlog = 10; + + /** + * The thread group associated with client threads. Each member of the + * thread group is a ConnectionToClient . + */ + private ThreadGroup clientThreadGroup; + + /** + * Indicates if the listening thread is ready to stop. Set to + * false by default. + */ + private boolean readyToStop = false; + + +// CONSTRUCTOR ****************************************************** + + /** + * Constructs a new server. + * + * @param port the port number on which to listen. + */ + public AbstractServer(int port) + { + this.port = port; + + this.clientThreadGroup = + new ThreadGroup("ConnectionToClient threads") + { + // All uncaught exceptions in connection threads will + // be sent to the clientException callback method. + public void uncaughtException( + Thread thread, Throwable exception) + { + clientException((ConnectionToClient)thread, exception); + } + }; + } + + +// INSTANCE METHODS ************************************************* + + /** + * Begins the thread that waits for new clients. + * If the server is already in listening mode, this + * call has no effect. + * + * @exception IOException if an I/O error occurs + * when creating the server socket. + */ + final public void listen() throws IOException + { + if (!isListening()) + { + if (serverSocket == null) + { + serverSocket = new ServerSocket(getPort(), backlog); + } + + serverSocket.setSoTimeout(timeout); + readyToStop = false; + connectionListener = new Thread(this); + connectionListener.start(); + } + } + + /** + * Causes the server to stop accepting new connections. + */ + final public void stopListening() + { + readyToStop = true; + } + + /** + * Closes the server socket and the connections with all clients. + * Any exception thrown while closing a client is ignored. + * If one wishes to catch these exceptions, then clients + * should be individually closed before calling this method. + * The method also stops listening if this thread is running. + * If the server is already closed, this + * call has no effect. + * + * @exception IOException if an I/O error occurs while + * closing the server socket. + */ + final synchronized public void close() throws IOException + { + if (serverSocket == null) + return; + stopListening(); + try + { + serverSocket.close(); + } + finally + { + // Close the client sockets of the already connected clients + Thread[] clientThreadList = getClientConnections(); + for (int i=0; iThread containing + * ConnectionToClient instances. + */ + synchronized final public Thread[] getClientConnections() + { + Thread[] clientThreadList = new + Thread[clientThreadGroup.activeCount()]; + + clientThreadGroup.enumerate(clientThreadList); + + return clientThreadList; + } + + /** + * Counts the number of clients currently connected. + * + * @return the number of clients currently connected. + */ + final public int getNumberOfClients() + { + return clientThreadGroup.activeCount(); + } + + /** + * Returns the port number. + * + * @return the port number. + */ + final public int getPort() + { + return port; + } + + /** + * Sets the port number for the next connection. + * The server must be closed and restarted for the port + * change to be in effect. + * + * @param port the port number. + */ + final public void setPort(int port) + { + this.port = port; + } + + /** + * Sets the timeout time when accepting connections. + * The default is half a second. This means that stopping the + * server may take up to timeout duration to actually stop. + * The server must be stopped and restarted for the timeout + * change to be effective. + * + * @param timeout the timeout time in ms. + */ + final public void setTimeout(int timeout) + { + this.timeout = timeout; + } + + /** + * Sets the maximum number of waiting connections accepted by the + * operating system. The default is 20. + * The server must be closed and restarted for the backlog + * change to be in effect. + * + * @param backlog the maximum number of connections. + */ + final public void setBacklog(int backlog) + { + this.backlog = backlog; + } + +// RUN METHOD ------------------------------------------------------- + + /** + * Runs the listening thread that allows clients to connect. + * Not to be called. + */ + final public void run() + { + // call the hook method to notify that the server is starting + serverStarted(); + + try + { + // Repeatedly waits for a new client connection, accepts it, and + // starts a new thread to handle data exchange. + while(!readyToStop) + { + try + { + // Wait here for new connection attempts, or a timeout + Socket clientSocket = serverSocket.accept(); + + // When a client is accepted, create a thread to handle + // the data exchange, then add it to thread group + + synchronized(this) + { + ConnectionToClient c = new ConnectionToClient( + this.clientThreadGroup, clientSocket, this); + } + } + catch (InterruptedIOException exception) + { + // This will be thrown when a timeout occurs. + // The server will continue to listen if not ready to stop. + } + } + + // call the hook method to notify that the server has stopped + serverStopped(); + } + catch (IOException exception) + { + if (!readyToStop) + { + // Closing the socket must have thrown a SocketException + listeningException(exception); + } + else + { + serverStopped(); + } + } + finally + { + readyToStop = true; + connectionListener = null; + } + } + + +// METHODS DESIGNED TO BE OVERRIDDEN BY CONCRETE SUBCLASSES --------- + + /** + * Hook method called each time a new client connection is + * accepted. The default implementation does nothing. + * @param client the connection connected to the client. + */ + protected void clientConnected(ConnectionToClient client) {} + + /** + * Hook method called each time a client disconnects. + * The default implementation does nothing. The method + * may be overridden by subclasses but should remains synchronized. + * + * @param client the connection with the client. + */ + synchronized protected void clientDisconnected( + ConnectionToClient client) {} + + /** + * Hook method called each time an exception is thrown in a + * ConnectionToClient thread. + * The method may be overridden by subclasses but should remains + * synchronized. + * + * @param client the client that raised the exception. + * @param Throwable the exception thrown. + */ + synchronized protected void clientException( + ConnectionToClient client, Throwable exception) {} + + /** + * Hook method called when the server stops accepting + * connections because an exception has been raised. + * The default implementation does nothing. + * This method may be overriden by subclasses. + * + * @param exception the exception raised. + */ + protected void listeningException(Throwable exception) {} + + /** + * Hook method called when the server starts listening for + * connections. The default implementation does nothing. + * The method may be overridden by subclasses. + */ + protected void serverStarted() {} + + /** + * Hook method called when the server stops accepting + * connections. The default implementation + * does nothing. This method may be overriden by subclasses. + */ + protected void serverStopped() {} + + /** + * Hook method called when the server is clased. + * The default implementation does nothing. This method may be + * overriden by subclasses. When the server is closed while still + * listening, serverStopped() will also be called. + */ + protected void serverClosed() {} + + /** + * Handles a command sent from one client to the server. + * This MUST be implemented by subclasses, who should respond to + * messages. + * This method is called by a synchronized method so it is also + * implcitly synchronized. + * + * @param msg the message sent. + * @param client the connection connected to the client that + * sent the message. + */ + protected abstract void handleMessageFromClient( + Object msg, ConnectionToClient client); + + +// METHODS TO BE USED FROM WITHIN THE FRAMEWORK ONLY ---------------- + + /** + * Receives a command sent from the client to the server. + * Called by the run method of ConnectionToClient + * instances that are watching for messages coming from the server + * This method is synchronized to ensure that whatever effects it has + * do not conflict with work being done by other threads. The method + * simply calls the handleMessageFromClient slot method. + * + * @param msg the message sent. + * @param client the connection connected to the client that + * sent the message. + */ + final synchronized void receiveMessageFromClient( + Object msg, ConnectionToClient client) + { + this.handleMessageFromClient(msg, client); + } +} +// End of AbstractServer Class diff --git a/code/simplechat1/ocsf/server/AdaptableServer.java b/code/simplechat1/ocsf/server/AdaptableServer.java new file mode 100644 index 0000000..24462d4 --- /dev/null +++ b/code/simplechat1/ocsf/server/AdaptableServer.java @@ -0,0 +1,129 @@ +// This file contains material supporting section 6.13 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** +* The AdaptableServer is an adapter class +* that extends the AbstractServer class in place of +* the AbstractObservableServer .

    +* +* Project Name: OCSF (Object Client-Server Framework)

    +* +* @author Dr. Robert Laganière +* @version Febuary 2001 +*/ +class AdaptableServer extends AbstractServer +{ + //Instance variables ********************************************** + + /** + * The adapter used to simulate multiple class inheritance. + */ + private ObservableServer server; + +// CONSTRUCTORS ***************************************************** + + /** + * Constructs the server adapter. + * + * @param host the server's host name. + * @param port the port number. + */ + public AdaptableServer(int port, ObservableServer server) + { + super(port); + this.server = server; + } + +// OVERRIDDEN METHODS --------- + + /** + * Hook method called each time a new client connection is + * accepted. + * + * @param client the connection connected to the client. + */ + final protected void clientConnected(ConnectionToClient client) + { + server.clientConnected(client); + } + + /** + * Hook method called each time a client disconnects. + * + * @param client the connection with the client. + */ + final protected void clientDisconnected(ConnectionToClient client) + { + server.clientDisconnected(client); + } + + /** + * Hook method called each time an exception + * is raised in a client thread. + * + * @param client the client that raised the exception. + * @param exception the exception raised. + */ + final protected void clientException(ConnectionToClient client, + Throwable exception) + { + server.clientException(client, exception); + } + + /** + * Hook method called when the server stops accepting + * connections because an exception has been raised. + * + * @param exception the exception raised. + */ + final protected void listeningException(Throwable exception) + { + server.listeningException(exception); + } + + /** + * Hook method called when the server stops accepting + * connections. + */ + final protected void serverStopped() + { + server.serverStopped(); + } + + /** + * Hook method called when the server starts listening for + * connections. + */ + final protected void serverStarted() + { + server.serverStarted(); + } + + /** + * Hook method called when the server is closed. + */ + final protected void serverClosed() + { + server.serverClosed(); + } + + /** + * Handles a command sent from the client to the server. + * + * @param msg the message sent. + * @param client the connection connected to the client that + * sent the message. + */ + final protected void handleMessageFromClient(Object msg, + ConnectionToClient client) + { + server.handleMessageFromClient(msg, client); + } +} diff --git a/code/simplechat1/ocsf/server/ConnectionToClient.java b/code/simplechat1/ocsf/server/ConnectionToClient.java new file mode 100644 index 0000000..4394b37 --- /dev/null +++ b/code/simplechat1/ocsf/server/ConnectionToClient.java @@ -0,0 +1,270 @@ +// This file contains material supporting section 3.8 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +import java.io.*; +import java.net.*; +import java.util.HashMap; + +/** + * An instance of this class is created by the server when a client connects. It + * accepts messages coming from the client and is responsible for sending data + * to the client since the socket is private to this class. The AbstractServer + * contains a set of instances of this class and is responsible for adding and + * deleting them. + *

    + * Project Name: OCSF (Object Client-Server Framework) + *

    + * + * @author Dr Robert Laganière + * @author Dr Timothy C. Lethbridge + * @author François Bélanger + * @author Paul Holden + * @version February 2001 (2.12) + */ +public class ConnectionToClient extends Thread { + // INSTANCE VARIABLES *********************************************** + + /** + * A reference to the Server that created this instance. + */ + private AbstractServer server; + + /** + * Sockets are used in the operating system as channels of communication + * between two processes. + * + * @see java.net.Socket + */ + private Socket clientSocket; + + /** + * Stream used to read from the client. + */ + private ObjectInputStream input; + + /** + * Stream used to write to the client. + */ + private ObjectOutputStream output; + + /** + * Indicates if the thread is ready to stop. Set to true when closing of the + * connection is initiated. + */ + private boolean readyToStop; + + /** + * Map to save information about the client such as its login ID. The + * initial size of the map is small since it is not expected that concrete + * servers will want to store many different types of information about each + * client. Used by the setInfo and getInfo methods. + */ + private HashMap savedInfo = new HashMap(10); + + // CONSTRUCTORS ***************************************************** + + /** + * Constructs a new connection to a client. + * + * @param group + * the thread groupSystem.out.println("Client at "+ client + + * "connected"); that contains the connections. + * @param clientSocket + * contains the client's socket. + * @param server + * a reference to the server that created this instance + * @exception IOException + * if an I/O error occur when creating the connection. + */ + ConnectionToClient(ThreadGroup group, Socket clientSocket, AbstractServer server) throws IOException { + super(group, (Runnable) null); + // Initialize variables + this.clientSocket = clientSocket; + this.server = server; + + clientSocket.setSoTimeout(0); // make sure timeout is infinite + + // Initialize the objects streams + try { + input = new ObjectInputStream(clientSocket.getInputStream()); + output = new ObjectOutputStream(clientSocket.getOutputStream()); + } catch (IOException ex) { + try { + closeAll(); + } catch (Exception exc) { + } + + throw ex; // Rethrow the exception. + } + + readyToStop = false; + start(); // Start the thread waits for data from the socket + } + + // INSTANCE METHODS ************************************************* + + /** + * Sends an object to the client. + * + * @param msg + * the message to be sent. + * @exception IOException + * if an I/O error occur when sending the message. + */ + final public void sendToClient(Object msg) throws IOException { + if (clientSocket == null || output == null) + throw new SocketException("socket does not exist"); + + output.writeObject(msg); + } + + /** + * Reset the output stream so we can use the same + * buffer repeatedly. This would not normally be used, but is necessary + * in some circumstances when Java refuses to send data that it thinks has been sent. + */ + final public void forceResetAfterSend() throws IOException { + output.reset(); + } + + /** + * Closes the client. If the connection is already closed, this call has no + * effect. + * + * @exception IOException + * if an error occurs when closing the socket. + */ + final public void close() throws IOException { + readyToStop = true; // Set the flag that tells the thread to stop + + try { + closeAll(); + } finally { + server.clientDisconnected(this); + } + } + + // ACCESSING METHODS ------------------------------------------------ + + /** + * Returns the address of the client. + * + * @return the client's Internet address. + */ + final public InetAddress getInetAddress() { + return clientSocket == null ? null : clientSocket.getInetAddress(); + } + + /** + * Returns a string representation of the client. + * + * @return the client's description. + */ + public String toString() { + return clientSocket == null ? null : clientSocket.getInetAddress().getHostName() + " (" + + clientSocket.getInetAddress().getHostAddress() + ")"; + } + + /** + * Saves arbitrary information about this client. Designed to be used by + * concrete subclasses of AbstractServer. Based on a hash map. + * + * @param infoType + * identifies the type of information + * @param info + * the information itself. + */ + public void setInfo(String infoType, Object info) { + savedInfo.put(infoType, info); + } + + /** + * Returns information about the client saved using setInfo. Based on a hash + * map. + * + * @param infoType + * identifies the type of information + */ + public Object getInfo(String infoType) { + return savedInfo.get(infoType); + } + + // RUN METHOD ------------------------------------------------------- + + /** + * Constantly reads the client's input stream. Sends all objects that are + * read to the server. Not to be called. + */ + final public void run() { + server.clientConnected(this); + + // This loop reads the input stream and responds to messages + // from clients + try { + // The message from the client + Object msg; + + while (!readyToStop) { + // This block waits until it reads a message from the client + // and then sends it for handling by the server + msg = input.readObject(); + server.receiveMessageFromClient(msg, this); + } + } catch (Exception exception) { + if (!readyToStop) { + try { + closeAll(); + } catch (Exception ex) { + } + + server.clientException(this, exception); + } + } + } + + // METHODS TO BE USED FROM WITHIN THE FRAMEWORK ONLY ---------------- + + /** + * Closes all connection to the server. + * + * @exception IOException + * if an I/O error occur when closing the connection. + */ + private void closeAll() throws IOException { + try { + // Close the socket + if (clientSocket != null) + clientSocket.close(); + + // Close the output stream + if (output != null) + output.close(); + + // Close the input stream + if (input != null) + input.close(); + } finally { + // Set the streams and the sockets to NULL no matter what + // Doing so allows, but does not require, any finalizers + // of these objects to reclaim system resources if and + // when they are garbage collected. + output = null; + input = null; + clientSocket = null; + } + } + + /** + * This method is called by garbage collection. + */ + protected void finalize() { + try { + closeAll(); + } catch (IOException e) { + } + } +} +// End of ConnectionToClient class \ No newline at end of file diff --git a/code/simplechat1/ocsf/server/ObservableOriginatorServer.java b/code/simplechat1/ocsf/server/ObservableOriginatorServer.java new file mode 100644 index 0000000..4333694 --- /dev/null +++ b/code/simplechat1/ocsf/server/ObservableOriginatorServer.java @@ -0,0 +1,165 @@ +// This file contains material supporting the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +/** +* The ObservableOriginatorServer is a subclass +* of ObservableServer that sends +* OriginatorMessage instances to its observers. +* This class should be used when the observers need to know +* the orginator of the messages received. The originator +* is null when the message sent concerns the server. +* +* Project Name: OCSF (Object Client-Server Framework)

    +* +* @author Dr Robert Laganière +* @author Dr Timothy C. Lethbridge +* @author François Bélanger +* @author Paul Holden +* @version February 2001 (2.12) +* @see ocsf.server.OriginatorMessage +*/ +public class ObservableOriginatorServer extends ObservableServer +{ + // Constructor ****************************************************** + + /** + * Constructs a new server. + * + * @param port the port on which to listen. + */ + public ObservableOriginatorServer(int port) + { + super(port); + } + + // Instance methods ************************************************ + + /** + * This method is used to handle messages coming from the client. + * Observers are notfied by receiveing an instance of OriginatorMessage + * that contains both the message received and a reference to the + * client who sent the message. + * + * @param message The message received from the client. + * @param client The connection to the client. + */ + protected synchronized void handleMessageFromClient + (Object message, ConnectionToClient client) + { + setChanged(); + notifyObservers(new OriginatorMessage(client, message)); + } + + /** + * Method called each time a new client connection is + * accepted. It notifies observers by sending an + * OriginatorMessage instance + * containing a reference to that client and + * the message defined by the static variable CLIENT_CONNECTED. + * + * @param client the connection connected to the client. + */ + protected synchronized void clientConnected(ConnectionToClient client) + { + setChanged(); + notifyObservers(new OriginatorMessage(client, CLIENT_CONNECTED)); + } + + /** + * Method called each time a client connection is + * disconnected. It notifies observers by sending an + * OriginatorMessage instance + * containing a reference to that client and + * the message defined by the static variable CLIENT_DISCONNECTED. + * + * @param client the connection connected to the client. + */ + synchronized protected void clientDisconnected(ConnectionToClient client) + { + setChanged(); + notifyObservers(new OriginatorMessage(client, CLIENT_DISCONNECTED)); + } + + + /** + * Method called each time an exception is raised + * by a client connection. + * It notifies observers by sending an + * OriginatorMessage instance + * containing a reference to that client and + * the message defined by the static variable CLIENT_EXCEPTION + * to which is appended the exception message. + * + * @param client the client that raised the exception. + * @param Throwable the exception thrown. + */ + synchronized protected void clientException( + ConnectionToClient client, Throwable exception) + { + setChanged(); + notifyObservers( + new OriginatorMessage(client, + CLIENT_EXCEPTION + exception.getMessage())); + } + + /** + * Method called each time an exception is raised + * while listening. + * It notifies observers by sending an + * OriginatorMessage instance + * containing the message defined by the static variable LISTENING_EXCEPTION + * to which is appended the exception message. + * The originator is set to null. + * + * @param exception the exception raised. + */ + protected synchronized void listeningException(Throwable exception) + { + setChanged(); + notifyObservers( + new OriginatorMessage(null, + LISTENING_EXCEPTION + exception.getMessage())); + } + + /** + * Method called each time the server is started. + * It notifies observers by sending an + * OriginatorMessage instance + * containing the message defined by the static variable SERVER_STARTED. + * The originator is set to null. + */ + protected synchronized void serverStarted() + { + setChanged(); + notifyObservers(new OriginatorMessage(null, SERVER_STARTED)); + } + + /** + * Method called each time the server is stopped. + * It notifies observers by sending an + * OriginatorMessage instance + * containing the message defined by the static variable SERVER_STOPPED. + * The originator is set to null. + */ + synchronized protected void serverStopped() + { + setChanged(); + notifyObservers(new OriginatorMessage(null, SERVER_STOPPED)); + } + + /** + * Method called each time the server is closed. + * It notifies observers by sending an + * OriginatorMessage instance + * containing the message defined by the static variable SERVER_CLOSED. + * The originator is set to null. + */ + synchronized protected void serverClosed() + { + setChanged(); + notifyObservers(new OriginatorMessage(null, SERVER_CLOSED)); + } +} diff --git a/code/simplechat1/ocsf/server/ObservableServer.java b/code/simplechat1/ocsf/server/ObservableServer.java new file mode 100644 index 0000000..5b16752 --- /dev/null +++ b/code/simplechat1/ocsf/server/ObservableServer.java @@ -0,0 +1,309 @@ +// This file contains material supporting section 6.13 of the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +import java.util.*; +import java.io.*; +import java.net.*; + +/** + * This class acts as a subclass of AbstractServer + * and is also an Observable class. + * This means that when a message is received, all observers + * are notified. + * + * @author François Bélange + * @author Dr Timothy C. Lethbridge + * @author Dr Robert Laganière + * @version August 2000 + */ + +public class ObservableServer extends Observable +{ + // Class variables ************************************************ + + /** + * The string sent to the observers when a client has connected. + */ + public static final String CLIENT_CONNECTED= "#OS:Client connected."; + + /** + * The string sent to the observers when a client has disconnected. + */ + public static final String CLIENT_DISCONNECTED= "#OS:Client disconnected."; + + /** + * The string sent to the observers when an exception occurred with a client. + * The error message of that exception will be appended to this string. + */ + public static final String CLIENT_EXCEPTION= "#OS:Client exception."; + + /** + * The string sent to the observers when a listening exception occurred. + * The error message of that exception will be appended to this string. + */ + public static final String LISTENING_EXCEPTION= "#OS:Listening exception."; + + /** + * The string sent to the observers when the server has closed. + */ + public static final String SERVER_CLOSED= "#OS:Server closed."; + + /** + * The string sent to the observers when the server has started. + */ + public static final String SERVER_STARTED= "#OS:Server started."; + + /** + * The string sent to the observers when the server has stopped. + */ + public static final String SERVER_STOPPED= "#OS:Server stopped."; + + + //Instance variables ********************************************** + + /** + * The service used to simulate multiple class inheritance. + */ + private AdaptableServer service; + + + //Constructor ***************************************************** + + /** + * Constructs a new server. + * + * @param port the port on which to listen. + */ + public ObservableServer(int port) + { + service = new AdaptableServer(port, this); + } + + //Instance methods ************************************************ + + /** + * Begins the thread that waits for new clients + */ + final public void listen() throws IOException + { + service.listen(); + } + + /** + * Causes the server to stop accepting new connections. + */ + final public void stopListening() + { + service.stopListening(); + } + + /** + * Closes the server's connections with all clients. + */ + final public void close() throws IOException + { + service.close(); + } + + /** + * Sends a message to every client connected to the server. + * + * @param msg The message to be sent + */ + public void sendToAllClients(Object msg) + { + service.sendToAllClients(msg); + } + +// ACCESSING METHODS ------------------------------------------------ + + /** + * Used to find out if the server is accepting new clients. + */ + final public boolean isListening() + { + return service.isListening(); + } + + /** + * Returns an array of containing the existing + * client connections. This can be used by + * concrete subclasses to implement messages that do something with + * each connection (e.g. kill it, send a message to it etc.) + * + * @return an array of Thread containing + * ConnectionToClient instances. + */ + final public Thread[] getClientConnections() + { + return service.getClientConnections(); + } + + /** + * @return the number of clients currently connected. + */ + final public int getNumberOfClients() + { + return service.getNumberOfClients(); + } + + /** + * @return the port number. + */ + final public int getPort() + { + return service.getPort(); + } + + /** + * Sets the port number for the next connection. + * Only has effect if the server is not currently listening. + * + * @param port the port number. + */ + final public void setPort(int port) + { + service.setPort(port); + } + + /** + * Sets the timeout time when accepting connection. + * The default is half a second. + * The server must be stopped and restarted for the timeout + * change be in effect. + * + * @param timeout the timeout time in ms. + */ + final public void setTimeout(int timeout) + { + service.setTimeout(timeout); + } + + /** + * Sets the maximum number of + * waiting connections accepted by the operating system. + * The default is 20. + * The server must be closed and restart for the backlog + * change be in effect. + * + * @param backlog the maximum number of connections. + */ + final public void setBacklog(int backlog) + { + service.setBacklog(backlog); + } + + /** + * Hook method called each time a new client connection is + * accepted. The method may be overridden by subclasses. + * + * @param client the connection connected to the client. + */ + protected synchronized void clientConnected(ConnectionToClient client) + { + setChanged(); + notifyObservers(CLIENT_CONNECTED); + } + + /** + * Hook method called each time a client disconnects. + * The method may be overridden by subclasses. + * + * @param client the connection with the client. + */ + protected synchronized void clientDisconnected(ConnectionToClient client) + { + setChanged(); + notifyObservers(CLIENT_DISCONNECTED); + } + + /** + * Hook method called each time an exception + * is raised in a client thread. + * This implementation simply closes the + * client connection, ignoring any exception. + * The method may be overridden by subclasses. + * + * @param client the client that raised the exception. + * @param exception the exception raised. + */ + protected synchronized void clientException(ConnectionToClient client, + Throwable exception) + { + setChanged(); + notifyObservers(CLIENT_EXCEPTION); + try + { + client.close(); + } + catch (Exception e) {} + } + + /** + * This method is called when the server stops accepting + * connections because an exception has been raised. + * This implementation + * simply calls stopListening. + * This method may be overriden by subclasses. + * + * @param exception the exception raised. + */ + protected synchronized void listeningException(Throwable exception) + { + setChanged(); + notifyObservers(LISTENING_EXCEPTION); + stopListening(); + } + + /** + * This method is called when the server stops accepting + * connections for any reason. This method may be overriden by + * subclasses. + */ + synchronized protected void serverStopped() + { + setChanged(); + notifyObservers(SERVER_STOPPED); + } + + /** + * This method is called when the server is closed. + * This method may be overriden by subclasses. + */ + synchronized protected void serverClosed() + { + setChanged(); + notifyObservers(SERVER_CLOSED); + } + + /** + * This method is called when the server starts listening for + * connections. The method may be overridden by subclasses. + */ + protected synchronized void serverStarted() + { + setChanged(); + notifyObservers(SERVER_STARTED); + } + + /** + * This method is used to handle messages coming from the client. + * Observers are notfied by receiveing the transmitted message. + * Note that, in this implementation, the information concerning + * the client that sent the message is lost. + * It can be overriden, but is still expected to call notifyObservers(). + * + * @param message The message received from the client. + * @param client The connection to the client. + * @see ocsf.server.ObservableOriginatorServer + */ + protected synchronized void handleMessageFromClient + (Object message, ConnectionToClient client) + { + setChanged(); + notifyObservers(message); + } +} diff --git a/code/simplechat1/ocsf/server/OriginatorMessage.java b/code/simplechat1/ocsf/server/OriginatorMessage.java new file mode 100644 index 0000000..a25d2b4 --- /dev/null +++ b/code/simplechat1/ocsf/server/OriginatorMessage.java @@ -0,0 +1,61 @@ +// This file contains material supporting the textbook: +// "Object Oriented Software Engineering" and is issued under the open-source +// license found at www.lloseng.com + +package ocsf.server; + +/** + * A message class used by the Observable layer of the OCSF in order to conserve + * information about the originator of a message. + * + * @author Dr. Robert Laganière + * @version July 2001 + */ +public class OriginatorMessage +{ + /** + * The connection that originated the message + */ + private ConnectionToClient originator; + + /** + * The message. + */ + private Object message; + +// Constructor *************************************************************** + + /** + * Constructs an instance of an OriginatorMessage + * + * @param originator The client who created this message + * @param message The contents of the message + */ + public OriginatorMessage(ConnectionToClient originator, Object message) + { + this.originator = originator; + this.message = message; + } + +// Accessor methods ********************************************************* + + /** + * Returns the originating connection. + * + * @return The connection from which the message originated. + */ + public ConnectionToClient getOriginator() + { + return originator; + } + + /** + * Returns the message's contents. + * + * @return The content of the message. + */ + public Object getMessage() + { + return message; + } +}