traffic
Class SocketLecture

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--traffic.SocketLecture
All Implemented Interfaces:
java.lang.Runnable

public class SocketLecture
extends java.lang.Thread


Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SocketLecture(java.net.DatagramSocket socket, SocketEcriture socketEcriture, FileAttenteSynchronisee messages, UDPSocketReader reader, java.net.InetAddress adresseConnexion, int portConnexion, int tailleBufferRéceptionPaquet)
          Création du buffer de lecture des datagrammes reçus par le socket.
 
Method Summary
 boolean estTerminé()
          Méthode permettant de savoir si le Thread est terminé.
 java.net.DatagramSocket getSocket()
          Renvoit le socket par lequel on reçoit des datagrammes
 int getTailleBufferRéceptionPaquet()
          Permet de récupérer la taille du buffer pour la réception de paquets.
static void main(java.lang.String[] args)
          Methode: Main pour tester la classe
 boolean pasDeMessagesReçu()
          Indique si il reste des messages non lus dans la file.
 java.lang.String premierMessageReçu()
          Renvoit le premier message lu de la file de messages.
 void run()
          Implantation de la méthode run de la classe Thread.
 void setUDPSocketReader(UDPSocketReader reader)
          Permet de déterminer l'instance de la classe qui va utiliser les méthodes de la classe SocketLecture.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SocketLecture

public SocketLecture(java.net.DatagramSocket socket,
                     SocketEcriture socketEcriture,
                     FileAttenteSynchronisee messages,
                     UDPSocketReader reader,
                     java.net.InetAddress adresseConnexion,
                     int portConnexion,
                     int tailleBufferRéceptionPaquet)
Création du buffer de lecture des datagrammes reçus par le socket.

Parameters:
socket - Le DatagramSocket sur lequel recevoir des datagrammes
socketEcriture - Le SocketEcriture associé au socket
messages - file de messages concernant la connexion
adresseConnexion - Adresse IP de la machine distante
portConnexion - Port de la machine distante
tailleBufferRéceptionPaquet - Taille du buffer pour la réception de paquets (>=34 (23 (message fermeture connexion) + 11 (numérotation datagrammes))) ; voir DatagramPacket(byte[] buf, int length)
Method Detail

run

public void run()
Implantation de la méthode run de la classe Thread. Réception des datagrammes sur le socket

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

pasDeMessagesReçu

public boolean pasDeMessagesReçu()
Indique si il reste des messages non lus dans la file.

Returns:
un booléen

premierMessageReçu

public java.lang.String premierMessageReçu()
Renvoit le premier message lu de la file de messages.

Returns:
le message sous forme de chaîne de caractères

getSocket

public java.net.DatagramSocket getSocket()
Renvoit le socket par lequel on reçoit des datagrammes

Returns:
le socket

estTerminé

public boolean estTerminé()
Méthode permettant de savoir si le Thread est terminé.

Returns:
un booléen

setUDPSocketReader

public void setUDPSocketReader(UDPSocketReader reader)
Permet de déterminer l'instance de la classe qui va utiliser les méthodes de la classe SocketLecture.
ATTENTION: cette méthode doit impérativement être appelée après l'instanciation de la classe, sinon une exception LecteurIndefiniException sera levée.


getTailleBufferRéceptionPaquet

public int getTailleBufferRéceptionPaquet()
Permet de récupérer la taille du buffer pour la réception de paquets.
DatagramPacket(byte[] buf, int length)

Returns:
un entier correspondant à la taille

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Methode: Main pour tester la classe

java.io.IOException