tech
Class Net

java.lang.Object
  |
  +--tech.Net
All Implemented Interfaces:
java.lang.Runnable

public class Net
extends java.lang.Object
implements java.lang.Runnable

Kopplar upp mot DSV2PVT-servern.

Senast ändrad $Date: 2003/02/19 15:29:55 $ av $Author: rene-fic $


Nested Class Summary
private  class Net.CheckOnlineTask
          Hanterar skickandet av begäran om att få en lista på användare som är online från servern.
private  class Net.PingHandler
          Intern hjälpklass som hanterar Ping-objekt, som skickas från servern.
 
Field Summary
private static int CHECK_ONLINE_INTERVAL
          Kollar vilka som är online under angivet tidsintervall.
private  java.net.Socket connection
          Nätkopplingen till servern.
private  java.lang.String hostname
          Serverns datornamn.
private  java.io.ObjectInputStream oIn
          Inström mer servern i andra änden.
private  java.util.Timer onlineTimer
          En timer för att mäta intervall.
private  java.io.ObjectOutputStream oOut
          Utström med servern i andra änden.
private  int port
          Serverns portnummer.
private  boolean stopped
          Stoppvillkoret i run-loopen.
private  java.lang.Thread thread
          Tråden som sköter läsning och skrivning.
 
Constructor Summary
Net(java.lang.String hostname, int port)
          Skapar en instans av Net som kopplar upp sig mot servern.
 
Method Summary
private  void connect(java.lang.String hostname, int port)
          Kopplar upp sig mot servern.
 boolean disconnect()
          Kopplar ner sig från servern.
 void reconnect()
          Försöker koppla upp sig mot servern.
 void run()
          Tråd som läser och skickar vidare objekt av superklassen Msg.
 void sendMsg(java.lang.Object obj)
          Skickar ett meddelande till servern.
 void stopClient()
          Stoppar tråden.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHECK_ONLINE_INTERVAL

private static final int CHECK_ONLINE_INTERVAL
Kollar vilka som är online under angivet tidsintervall.

See Also:
Constant Field Values

onlineTimer

private java.util.Timer onlineTimer
En timer för att mäta intervall.


connection

private java.net.Socket connection
Nätkopplingen till servern.


oOut

private java.io.ObjectOutputStream oOut
Utström med servern i andra änden. Objekt som skrivs på strömmen skickas automagiskt över nätverket till servern som läser meddelandena i samma ordning som de skickades.


oIn

private java.io.ObjectInputStream oIn
Inström mer servern i andra änden. Läser objektvis. Server skriver objekt till inströmmen som köas och läses i FIFO-ordning m.h.a. readObject();


stopped

private boolean stopped
Stoppvillkoret i run-loopen.


thread

private java.lang.Thread thread
Tråden som sköter läsning och skrivning.


hostname

private java.lang.String hostname
Serverns datornamn.


port

private int port
Serverns portnummer.

Constructor Detail

Net

public Net(java.lang.String hostname,
           int port)
    throws java.io.IOException,
           java.lang.NullPointerException,
           java.net.UnknownHostException
Skapar en instans av Net som kopplar upp sig mot servern.

Parameters:
hostname - namnet på datorn där servern som man vill koppla mot.
port - porten där servern tar emot uppkopplingar.
Throws:
java.io.IOException - om uppkopplingen misslyckas av någon anledning.
java.lang.NullPointerException - om det inte gick att skicka ClientStatus
java.net.UnknownHostException - om host inte finns.
Method Detail

reconnect

public void reconnect()
Försöker koppla upp sig mot servern. Används om en tidigare uppkoppling har misslyckats.


connect

private void connect(java.lang.String hostname,
                     int port)
              throws java.io.IOException,
                     java.lang.NullPointerException
Kopplar upp sig mot servern.

Parameters:
hostname - Serverns datornamn.
port - Serverns portnummer.
Throws:
java.io.IOException - om uppkopplingen misslyckas av någon anledning.
java.lang.NullPointerException - om det inte gick att skicka ClientStatus till servern.

disconnect

public boolean disconnect()
Kopplar ner sig från servern. Används bara när programmet stängs ner.

Returns:
true om det lyckades, false annars.

sendMsg

public void sendMsg(java.lang.Object obj)
             throws java.io.IOException,
                    java.lang.NullPointerException
Skickar ett meddelande till servern.

Parameters:
obj - Meddelandet.
Throws:
java.io.IOException - om fel uppstår vid skrivning till eller tömning av bufferten.
java.lang.NullPointerException - om utströmmen inte har skapats.

run

public void run()
Tråd som läser och skickar vidare objekt av superklassen Msg.

Specified by:
run in interface java.lang.Runnable

stopClient

public void stopClient()
Stoppar tråden.