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);
			}
		}
	}