JavaQuest.Server
Class CClientListener

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--JavaQuest.Server.CClientListener
All Implemented Interfaces:
IClientListenerProxy, java.rmi.Remote, java.lang.Runnable, java.io.Serializable

public class CClientListener
extends java.rmi.server.UnicastRemoteObject
implements IClientListenerProxy, java.lang.Runnable, java.io.Serializable

Listener-Thread fuer Initierung der Kommunikation;
Delegiert nur Logins und Logouts von Clients an Game, eigentl Kommunikation erfolgt dann ueber ClientThread

See Also:
CServerProxy, CGame, Serialized Form

Field Summary
private  boolean m_bOn
          Run-Flag des Threads
private  CGame m_oGame
          Zentrales Spiele-Objekt
private static CServerProxy m_oServerProxy
          Serverproxy, fuer CGame-Funktionalitaet ohne CGame-Referenz
 
Fields inherited from class java.rmi.server.UnicastRemoteObject
csf, port, portFactoryParamTypes, portParamTypes, serialVersionUID, ssf
 
Fields inherited from class java.rmi.server.RemoteServer
log, logname
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
CClientListener()
          Default-Konstruktor
CClientListener(CGame _oGame, CServerProxy _oServerProxy)
          Konstruktor mit Game und ServerProxy
 
Method Summary
 void beenden()
          Thread soll sich beenden, beendet die while-schleife
 CMap login(java.lang.String _sName, java.lang.String _sIP)
          login - wird vom Client beim Verbindungsaufbau aufgerufen
 boolean logout(java.lang.String _sName)
          logout - entfernt alle Bestandteile des Clients im Server
 void run()
          'main' von Thread
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
, clone, exportObject, exportObject, exportObject, exportObject, readObject, reexport, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub, writeObject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

m_oServerProxy

private static CServerProxy m_oServerProxy
Serverproxy, fuer CGame-Funktionalitaet ohne CGame-Referenz

m_oGame

private CGame m_oGame
Zentrales Spiele-Objekt

m_bOn

private boolean m_bOn
Run-Flag des Threads
Constructor Detail

CClientListener

public CClientListener()
                throws java.rmi.RemoteException
Default-Konstruktor

CClientListener

public CClientListener(CGame _oGame,
                       CServerProxy _oServerProxy)
                throws java.rmi.RemoteException
Konstruktor mit Game und ServerProxy
Parameters:
_oGame - Referenz auf das zentrale Spiel-Objekt
_oServerProxy - Referenz auf den Serverproxy, fuer CGame-Funktionalitaet ohne CGame-Referenz
See Also:
CGame, CServerProxy
Method Detail

login

public CMap login(java.lang.String _sName,
                  java.lang.String _sIP)
           throws java.rmi.RemoteException
login - wird vom Client beim Verbindungsaufbau aufgerufen
Specified by:
login in interface IClientListenerProxy
Parameters:
_sName - Name(Alias) des Spielers vom Client
_sIP - IP-Adresse unter der der Client fuer den Server erreichbar ist
Returns:
Map-Objekt, wird als Kopie dem Client zurueckgeliefert

logout

public boolean logout(java.lang.String _sName)
               throws java.rmi.RemoteException
logout - entfernt alle Bestandteile des Clients im Server
Specified by:
logout in interface IClientListenerProxy
Parameters:
_sName - Name(Alias) des Spielers vom Client
Returns:
boolean bei erfolgreichem logout wird true zurueckgegeben

beenden

public void beenden()
Thread soll sich beenden, beendet die while-schleife

run

public void run()
'main' von Thread
Specified by:
run in interface java.lang.Runnable