org.ozoneDB.DxLib.net
Class DxMultiServer
java.lang.Object
|
+--org.ozoneDB.DxLib.DxObject
|
+--org.ozoneDB.DxLib.DxAbstractCollection
|
+--org.ozoneDB.DxLib.DxAbstractBag
|
+--org.ozoneDB.DxLib.DxListBag
|
+--org.ozoneDB.DxLib.net.DxMultiServer
- All Implemented Interfaces:
- java.lang.Cloneable, DxBag, DxCollection, DxCompatible, DxListCollection, java.io.Externalizable, java.io.Serializable
- Direct Known Subclasses:
- InvokeServer
- public abstract class DxMultiServer
- extends DxListBag
DxMultiServer verwaltet mehrere DxClients - Verbindungen. Durch einen Thread
wird staendig auf neue Verbindungen gewartet, durch einen weiteren auf
einkommende Daten. Wird etwas empfangen, wird die Methode handleClientEvent()
aufgerufen.
- Version:
- $Revision: 1.1 $Date: 2001/12/18 10:31:30 $
- Author:
- SMB
- See Also:
- Serialized Form
Method Summary |
void |
accept()
accept thread starten |
void |
close()
|
abstract void |
handleClientEvent(DxMultiServerClient client,
java.lang.Object event)
diese methode wird aufgerufen, wenn an der verbindung client daten
anliegen; muss ueberschrieben werden, um das applications spezifische
verhalten zu bestimmen |
abstract void |
handleClientException(DxMultiServerClient client,
java.lang.Exception e)
|
DxMultiServerClient |
newClient(java.net.Socket sock)
erzeugt einen neuen client aus einer socket-verbindung;
diese methode kann ueberschrieben werden, um evtl. |
java.lang.Thread |
newThread(java.lang.Runnable run)
Diese Methode liefert einen neuen Thread und wird fuer die AcceptThread
und den DxMultiServerClient benoetigt. |
void |
removeClient(DxMultiServerClient client)
|
java.lang.ThreadGroup |
threadGroup()
liefert die ThreadGroup des MultiServers. |
Methods inherited from class org.ozoneDB.DxLib.DxAbstractCollection |
addAll, addAll, clone, contains, containsAll, readExternal, remove, removeAll, toArray, valueClone, writeExternal |
Methods inherited from class java.lang.Object |
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
serverSocket
protected java.net.ServerSocket serverSocket
acceptor
protected Acceptor acceptor
acceptThread
protected java.lang.Thread acceptThread
threadGroup
protected java.lang.ThreadGroup threadGroup
DxMultiServer
public DxMultiServer(int port)
throws java.io.IOException
threadGroup
public java.lang.ThreadGroup threadGroup()
- liefert die ThreadGroup des MultiServers.
newThread
public java.lang.Thread newThread(java.lang.Runnable run)
- Diese Methode liefert einen neuen Thread und wird fuer die AcceptThread
und den DxMultiServerClient benoetigt. Sie kann ueberschrieben werden, um evtl.
eigene Threads zu erzeugen (z.B. bei Verwendung eines eigenen Schedulers).
Ausserdem wird der mit diesem Thread verbundene Client uebergeben (kann
auch null sein !!).
newClient
public DxMultiServerClient newClient(java.net.Socket sock)
- erzeugt einen neuen client aus einer socket-verbindung;
diese methode kann ueberschrieben werden, um evtl. eigene clients
einfuegen zu koennen
accept
public void accept()
- accept thread starten
close
public void close()
throws java.io.IOException
java.io.IOException
removeClient
public void removeClient(DxMultiServerClient client)
handleClientEvent
public abstract void handleClientEvent(DxMultiServerClient client,
java.lang.Object event)
- diese methode wird aufgerufen, wenn an der verbindung client daten
anliegen; muss ueberschrieben werden, um das applications spezifische
verhalten zu bestimmen
handleClientException
public abstract void handleClientException(DxMultiServerClient client,
java.lang.Exception e)
Copyright (C) The Ozone Database Project - www.ozone-db.org. All rights reserved.