Package networking

Class Client

java.lang.Object
networking.Client
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
TeltonikaFmcClient

public abstract class Client
extends java.lang.Object
implements java.lang.Runnable
Abstarkt klient klasse som kjøres på egen tråd. Sender og mottar data fra sensor. Sørger for at komunikasjon med enhet følger forventet format
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected Server handler  
    protected java.io.DataInputStream input  
    protected java.io.DataOutputStream output  
    protected java.net.Socket socket  
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected Client​(Server handler, java.net.Socket socket, java.io.DataInputStream input, java.io.DataOutputStream output, int bufferSize)
    Konstruktøren til klienten.
  • Method Summary

    Modifier and Type Method Description
    void acceptConnection​(long id)
    Setter ID-en og godtar tilkoblingen.
    void disconnect()
    Koble fra sensor
    long getId()  
    protected abstract void onAcceptConnection​(boolean flag)
    Sender responsen fra handshaken til sensoren.
    protected abstract Packet onReceive​(byte[] data)
    Abstarkt funksjon som omformer bytestrømen om til Enhetsfamilien sin Packet-objekt
    protected abstract void onSendReceipt​(Output data)
    Sender responsen til sensoren ved vanlige pakker.
    protected Packet receive()
    Mottar data fra sensoren som en bytestrøm.
    void run()
    Loopen til klienten
    protected void send​(byte[] data)
    Sender data til sensoren i form av en bytestrøm.
    void sendReceipt​(Output data)
    Hvis handshaken ikke har blitt gjennomført frakobles klienten Kaller den abstarkte funksjone onSendReceipt for å sende respons tilbake til enheten
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • handler

      protected final Server handler
    • socket

      protected final java.net.Socket socket
    • input

      protected final java.io.DataInputStream input
    • output

      protected final java.io.DataOutputStream output
  • Constructor Details

    • Client

      protected Client​(Server handler, java.net.Socket socket, java.io.DataInputStream input, java.io.DataOutputStream output, int bufferSize)
      Konstruktøren til klienten.
      Parameters:
      handler - Serveren
      socket - socketen til klienten
      input - input strømen
      output - output strømen
      bufferSize - maks størrelse på mottatte pakker
  • Method Details

    • acceptConnection

      public void acceptConnection​(long id)
      Setter ID-en og godtar tilkoblingen. Fra kobler klienten hvis ID-en er -1. Kaller den abstarkte funksjone onAcceptConnection for å sende respons tilbake til enheten
      Parameters:
      id - ID-en
    • onAcceptConnection

      protected abstract void onAcceptConnection​(boolean flag)
      Sender responsen fra handshaken til sensoren. Abstrakt funksjon som overskrives av arveklasser.
      Parameters:
      flag - Boolean som sier om klienten ble godkjent eller ikke
    • sendReceipt

      public void sendReceipt​(Output data)
      Hvis handshaken ikke har blitt gjennomført frakobles klienten Kaller den abstarkte funksjone onSendReceipt for å sende respons tilbake til enheten
      Parameters:
      data - Dataen som har blitt tolket
    • onSendReceipt

      protected abstract void onSendReceipt​(Output data)
      Sender responsen til sensoren ved vanlige pakker. Abstrakt funksjon som overskrives av arveklasser.
      Parameters:
      data - Dataen som har blitt tolket
    • receive

      protected Packet receive() throws java.io.IOException
      Mottar data fra sensoren som en bytestrøm. Kaller den abstarkte funksjone onReceive for å omforme data til enhetens Packet type
      Returns:
      Packet med data
      Throws:
      java.io.IOException
      See Also:
      Packet
    • onReceive

      protected abstract Packet onReceive​(byte[] data)
      Abstarkt funksjon som omformer bytestrømen om til Enhetsfamilien sin Packet-objekt
      Parameters:
      data - byte-array
      Returns:
      Enhetsfamilien sin Packet-objekt
    • send

      protected void send​(byte[] data)
      Sender data til sensoren i form av en bytestrøm.
      Parameters:
      data - Byte-array med data
    • disconnect

      public void disconnect()
      Koble fra sensor
    • run

      public void run()
      Loopen til klienten
      Specified by:
      run in interface java.lang.Runnable
    • getId

      public long getId()
      Returns:
      id til enheten
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object