All Packages Class Hierarchy This Package Previous Next Index
Class guinea.ui.remote.SubjectUIServer
java.lang.Object
|
+----guinea.ui.remote.SubjectUIServer
- public abstract class SubjectUIServer
- extends Object
- implements Runnable
Variable Index
- ·
CONNECT_DONE
- Connection was OK and is accepted.
- ·
CONNECT_OK
- Connection was OK and is accepted, server waits for more
connections.
- ·
defaultPort
- The default port number to use for server socket.
- ·
defaultUI
- Default subject UI to send to client.
- ·
serverThread
- Thread that waits for connections and sends remote UI
- ·
uiName
- The remote UI's name (as a remote object for sending and
receaving remote messages).
Constructor Index
- ·
SubjectUIServer()
- Construct a new subject UI server with default port and no
default UI.
- ·
SubjectUIServer(SubjectUI)
- Construct a new subject UI server.
- ·
SubjectUIServer(SubjectUI, int)
- Construct a new subject UI server.
Method Index
- ·
acceptsConnections()
-
- ·
connectFailed(Socket, Exception)
- Remote connection failed.
- ·
connectGetUI(Socket, SubjectUI)
- Return the subject UI that is sent to the remote client.
- ·
connectGotUI(SubjectUI, RemotePipe, Socket)
- A new remote subject UI is ready.
- ·
getSocketPort()
- Get the UI server socket's port number.
- ·
getUI()
- Get the default subject UI that is sent to the remote client
requesting a subject UI.
- ·
isServerRunning()
- Is the socket server running awaiting for connections.
- ·
run()
- The subject UI server thread.
- ·
setSocketPort(int)
- Set the UI server socket's port number.
- ·
setUI(SubjectUI)
- Set the default subject UI that is sent to the remote client
requesting a subject UI.
- ·
startServer()
- Start the subject UI server.
- ·
stopServer()
- Stop the subject UI server.
Variables
·
CONNECT_OK
public static final int CONNECT_OK
- Connection was OK and is accepted, server waits for more
connections.
·
CONNECT_DONE
public static final int CONNECT_DONE
- Connection was OK and is accepted. This is the last client,
no more connections are accepted, subject UI server quits.
·
defaultPort
public static final int defaultPort
- The default port number to use for server socket.
·
defaultUI
protected SubjectUI defaultUI
- Default subject UI to send to client.
·
uiName
protected String uiName
- The remote UI's name (as a remote object for sending and
receaving remote messages).
·
serverThread
protected Thread serverThread
- Thread that waits for connections and sends remote UI
Constructors
·
SubjectUIServer
public SubjectUIServer()
- Construct a new subject UI server with default port and no
default UI. UI should be set before server is started or
subclass should provided the UI somehow.
- See Also:
- connectGetUI, setUI
·
SubjectUIServer
public SubjectUIServer(SubjectUI ui,
int port)
- Construct a new subject UI server.
- Parameters:
- ui - the default subject UI object to send to remote
client.
- port - the port number of the UI server's server socket.
If port is zero, uses default port number.
·
SubjectUIServer
public SubjectUIServer(SubjectUI ui)
- Construct a new subject UI server. The default server port
number is used.
- Parameters:
- ui - the default subject UI object to send to remote
client.
Methods
·
isServerRunning
public synchronized boolean isServerRunning()
- Is the socket server running awaiting for connections.
- Returns:
-
true
if server is running.
·
getSocketPort
public int getSocketPort()
- Get the UI server socket's port number.
- Returns:
- the port number of the server socket.
·
setSocketPort
public void setSocketPort(int port)
- Set the UI server socket's port number. The port number
cannot be set when the server is running.
- Parameters:
- port - the port number of the server socket.
·
acceptsConnections
public boolean acceptsConnections()
·
setUI
public synchronized void setUI(SubjectUI ui)
- Set the default subject UI that is sent to the remote client
requesting a subject UI. The UI cannot be set when server is
already running.
- Parameters:
- ui - the default subject UI to use.
·
getUI
public SubjectUI getUI()
- Get the default subject UI that is sent to the remote client
requesting a subject UI.
- Returns:
- the default subject UI or
null
if UI
hasn't been set yet.
·
startServer
public synchronized void startServer() throws IOException
- Start the subject UI server. The server socket is created and
a thread is started that listens for connections to the server
socket. When a connection is made, the server sends the UI to
the remote client and creates a server side copy of the UI.
- Throws: IOException
- an exception is thrown if creation of
the server socket fails.
·
stopServer
public synchronized void stopServer()
- Stop the subject UI server. Kills the server thread and
closes the server socket so that No more connections are
possible.
·
run
public final void run()
- The subject UI server thread. It listens to the server socket
and when a connection is received, it creates a remote pipe
and sends the UI to the remote client. The run()
method should be called only from the server thread. A call
from some other thread is ignored and does nothing.
·
connectFailed
protected void connectFailed(Socket conn,
Exception ex)
- Remote connection failed. Called when accepting a connection
or creating remote pipe failed. This method can be used to
deal with unexpected errors. The default implementation just
writes the error message to standard error with a stack trace.
- Parameters:
- conn - the socket used for talking with the remote end.
- ex - the exception that caused the connection to fail.
·
connectGetUI
protected SubjectUI connectGetUI(Socket client,
SubjectUI defUI)
- Return the subject UI that is sent to the remote client.
Default implementation simply returns the default UI provided.
- Parameters:
- client - the socket that the remote client uses. This
can be used to send a different UI based on client address.
- defUI - the default UI to return.
- Returns:
- the subject UI for use in this connection. Returning
null
causes the server to ignore this connection
and close its socket denying the connection.
·
connectGotUI
protected abstract int connectGotUI(SubjectUI ui,
RemotePipe pipe,
Socket s)
- A new remote subject UI is ready. Subclasses should do
something with the new UI.
- Parameters:
- ui - the UI object.
- pipe - the remote pipe that is used to communicate with
the remote end.
- s - the socket the remote pipe uses.
- Returns:
- this method should return either
CONNECT_OK or CONNECT_DONE.
- See Also:
- CONNECT_OK, CONNECT_DONE
All Packages Class Hierarchy This Package Previous Next Index