org.sourceforge.jvb3d.Network
Class ServerData

java.lang.Object
  extended by org.sourceforge.jvb3d.Network.ServerData
All Implemented Interfaces:
java.util.Observer

public class ServerData
extends java.lang.Object
implements java.util.Observer

Author:
Łukasz Krzyżak klasa odpowiedzialna za komunikowanie się klienta z serwerem. Sprawdza poprawność otrzymywanych pakietów, wysyła update, łączy z serwerem.

Field Summary
static long serverTimeout
          czas, po którym stwierdzamy, że serwer jest rozłączony jesli nie dostaliśmy od niego żadnego pakietu
 
Constructor Summary
ServerData()
          tworzy wymagane obiekty (NetworkSender)
 
Method Summary
 java.lang.String join(java.net.InetSocketAddress server)
          próbuje połączyc się z serwerem.
 void sendUpdate(byte[] updateData)
          wysyła dane przekazane w parametrze do serwera, sprawdza timeout serwera
 void update(java.util.Observable arg0, java.lang.Object arg1)
          obsługuje pakiety otrzymane z sieci.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serverTimeout

public static final long serverTimeout
czas, po którym stwierdzamy, że serwer jest rozłączony jesli nie dostaliśmy od niego żadnego pakietu

See Also:
Constant Field Values
Constructor Detail

ServerData

public ServerData()
tworzy wymagane obiekty (NetworkSender)

Method Detail

join

public java.lang.String join(java.net.InetSocketAddress server)
                      throws java.io.IOException
próbuje połączyc się z serwerem. Wysyła pakiet join na adres podany w parametrze, a następnie czeka, aż klient otrzyma pakiet connect - wtedy metoda update spowoduje wznowienie wykonywania i zwrócenie wartości otrzymanych w pakiecie.

Parameters:
server - adres serwera
Returns:
ID avatara powiązanego z tym klientem
Throws:
java.io.IOException - jeśli coś poszło źle TODO jeśli nie otrzymamy pakietu connect - wisimy na wieki TODO join zwraca stringa - docelowo będzie coś większego

update

public void update(java.util.Observable arg0,
                   java.lang.Object arg1)
obsługuje pakiety otrzymane z sieci. Jeśli to pakiet connect - zapisuje zapisane w nim dane, i notyfikuje główny wątek. Jeśli to pakiet update - sprawdza numer SEQ, aktualizuje czas, po czym wywołuje odpowiednią metodę z fasady TODO ładniejsza obsługa wyjątków

Specified by:
update in interface java.util.Observer
Parameters:
arg0 - referencja do bufora
arg1 -

sendUpdate

public void sendUpdate(byte[] updateData)
                throws TimeoutException,
                       java.io.IOException
wysyła dane przekazane w parametrze do serwera, sprawdza timeout serwera

Parameters:
updateData - dane do przesłania
Throws:
TimeoutException - gdy wystąpił timeout serwera
java.io.IOException - gdy wystapił błąd wysyłania pakietu


Copyright © 2004-2005 Akademia Górniczo-Hutnicza w Krakowie. All Rights Reserved.