Meeting  0.2
BTS SNIR LaSalle Avignon 2020
Référence de la classe com.lasalle.meeting.Communication

Déclaration de la classe Communication. Plus de détails...

Graphe de collaboration de com.lasalle.meeting.Communication:
Collaboration graph

Fonctions membres publiques

void arreter ()
 méthode arrétant la socket, donc la communication avec les portiers Plus de détails...
 
 Communication (Handler handler)
 constructeur de communication Plus de détails...
 
 Communication (int port, Handler handler)
 constructeur de communication Plus de détails...
 
void envoyer (final String requete)
 méthode envoyant une requête à l'adresse de multicast Plus de détails...
 
void envoyer (final String requete, final String adresseIP)
 méthode envoyant une requête à l'adresse de indiqué en paramètre Plus de détails...
 
void recevoir ()
 méthode recevant les trames des portiers Plus de détails...
 
void run ()
 méthode appelée automatiquement quand le socket reçois quelque chose Plus de détails...
 
void setHandler (Handler handler)
 change le handler par celui mis en paramètre Plus de détails...
 

Attributs publics statiques

static final int CODE_RECEPTION = 1
 code de reception correcte pour le portiers Plus de détails...
 
static final String DELIMITEUR_CHAMP = ";"
 
static final String DELIMITEUR_EN_TETE = "$"
 
static final String DELIMITEUR_FIN = "\r\n"
 
static final int NB_DELIMITEURS_GET_1 = 6
 
static final int NB_DELIMITEURS_GET_2 = 3
 
static final int NB_DELIMITEURS_GET_3 = 1
 
static final int TIMEOUT_RECEPTION_REPONSE = 30000
 temps maximum d'une réponse d'un portier Plus de détails...
 

Attributs privés

InetAddress adresseIP = null
 attribut récuperant l'adresse IP du portier Plus de détails...
 
Handler handler
 attribut permetant d'envoyer une requête par rapport a une autre activity Plus de détails...
 
final ReentrantLock mutex = new ReentrantLock()
 
DatagramSocket socket
 attribut récuperant les informations de la socket Plus de détails...
 
String trame
 attribut récuperant la trame Plus de détails...
 

Attributs privés statiques

static final String adresseMulticast = "239.0.0.42"
 adresse de multicast des portiers Plus de détails...
 
static final int PORT = 5000
 port d'ecoute des portiers Plus de détails...
 
static final String TAG = "Communication"
 TAG utilisé dans les log. Plus de détails...
 

Description détaillée

Déclaration de la classe Communication.

Définition à la ligne 23 du fichier Communication.java.

Documentation des constructeurs et destructeur

◆ Communication() [1/2]

com.lasalle.meeting.Communication.Communication ( Handler  handler)

constructeur de communication

Paramètres
handlerHandler
Renvoie
void

Définition à la ligne 56 du fichier Communication.java.

Références com.lasalle.meeting.Communication.handler, et com.lasalle.meeting.Communication.TIMEOUT_RECEPTION_REPONSE.

57  {
58  this.handler = handler;
59  try
60  {
61  socket = new DatagramSocket(PORT);
62  socket.setSoTimeout(Communication.TIMEOUT_RECEPTION_REPONSE);
63  }
64  catch (SocketException se)
65  {
66  se.printStackTrace();
67  }
68 
69  try
70  {
71  this.adresseIP = InetAddress.getByName(adresseMulticast);
72  }
73  catch (UnknownHostException e)
74  {
75  e.printStackTrace();
76  }
77  }
InetAddress adresseIP
attribut récuperant l'adresse IP du portier
Communication(Handler handler)
constructeur de communication
static final int PORT
port d'ecoute des portiers
Handler handler
attribut permetant d'envoyer une requête par rapport a une autre activity
static final String adresseMulticast
adresse de multicast des portiers
DatagramSocket socket
attribut récuperant les informations de la socket

◆ Communication() [2/2]

com.lasalle.meeting.Communication.Communication ( int  port,
Handler  handler 
)

constructeur de communication

Paramètres
handlerHandler, port int
Renvoie
void

Définition à la ligne 84 du fichier Communication.java.

Références com.lasalle.meeting.Communication.handler, et com.lasalle.meeting.Communication.TIMEOUT_RECEPTION_REPONSE.

85  {
86  this.handler = handler;
87  try
88  {
89  socket = new DatagramSocket(port);
90  socket.setSoTimeout(Communication.TIMEOUT_RECEPTION_REPONSE);
91  }
92  catch (SocketException se)
93  {
94  se.printStackTrace();
95  }
96 
97  try
98  {
99  this.adresseIP = InetAddress.getByName(adresseMulticast);
100  }
101  catch (UnknownHostException e)
102  {
103  e.printStackTrace();
104  }
105  }
InetAddress adresseIP
attribut récuperant l'adresse IP du portier
Communication(Handler handler)
constructeur de communication
Handler handler
attribut permetant d'envoyer une requête par rapport a une autre activity
static final String adresseMulticast
adresse de multicast des portiers
DatagramSocket socket
attribut récuperant les informations de la socket

Documentation des fonctions membres

◆ arreter()

void com.lasalle.meeting.Communication.arreter ( )

méthode arrétant la socket, donc la communication avec les portiers

Renvoie
void

Définition à la ligne 235 du fichier Communication.java.

236  {
237  if(socket == null)
238  return;
239  socket.close();
240  }
DatagramSocket socket
attribut récuperant les informations de la socket

◆ envoyer() [1/2]

void com.lasalle.meeting.Communication.envoyer ( final String  requete)

méthode envoyant une requête à l'adresse de multicast

Paramètres
requeteString
Renvoie
void

Définition à la ligne 161 du fichier Communication.java.

Références com.lasalle.meeting.Communication.run().

Référencé par com.lasalle.meeting.MainActivity.rafraichir(), com.lasalle.meeting.SalleActivity.setListener(), et com.lasalle.meeting.ConfigurationSalleActivity.setListener().

162  {
163  if(socket == null)
164  return;
165 
166  new Thread()
167  {
168  @Override public void run()
169  {
170  byte[] emission = new byte[1024];
171 
172  try
173  {
174  emission = requete.getBytes();
175  DatagramPacket paquetRetour = new DatagramPacket(emission, emission.length, adresseIP, PORT);
176  socket.send(paquetRetour);
177  Log.d(TAG, "send() = " + requete);
178  }
179  catch (IOException e)
180  {
181  Log.d(TAG, "Erreur send() [socket.isClosed = " + socket.isClosed() + "]");
182  e.printStackTrace();
183  }
184  }
185  }.start();
186  }
InetAddress adresseIP
attribut récuperant l'adresse IP du portier
void run()
méthode appelée automatiquement quand le socket reçois quelque chose
static final int PORT
port d'ecoute des portiers
static final String TAG
TAG utilisé dans les log.
DatagramSocket socket
attribut récuperant les informations de la socket

◆ envoyer() [2/2]

void com.lasalle.meeting.Communication.envoyer ( final String  requete,
final String  adresseIP 
)

méthode envoyant une requête à l'adresse de indiqué en paramètre

Paramètres
requeteString, adresseIP String
Renvoie
void

Définition à la ligne 193 du fichier Communication.java.

Références com.lasalle.meeting.Communication.run().

194  {
195  if(socket == null)
196  return;
197 
198  final InetAddress adresseIPDistante;
199  try
200  {
201  adresseIPDistante = InetAddress.getByName(adresseIP);
202  }
203  catch (UnknownHostException e)
204  {
205  e.printStackTrace();
206  return;
207  }
208 
209  new Thread()
210  {
211  @Override public void run()
212  {
213  byte[] emission = new byte[1024];
214 
215  try
216  {
217  emission = requete.getBytes();
218  DatagramPacket paquetRetour = new DatagramPacket(emission, emission.length, adresseIPDistante, PORT);
219  socket.send(paquetRetour);
220  Log.d(TAG, "send() " + adresseIP + " = " + requete);
221  }
222  catch (IOException e)
223  {
224  Log.d(TAG, "Erreur send() [socket.isClosed = " + socket.isClosed() + "]");
225  e.printStackTrace();
226  }
227  }
228  }.start();
229  }
InetAddress adresseIP
attribut récuperant l'adresse IP du portier
void run()
méthode appelée automatiquement quand le socket reçois quelque chose
static final int PORT
port d'ecoute des portiers
static final String TAG
TAG utilisé dans les log.
DatagramSocket socket
attribut récuperant les informations de la socket

◆ recevoir()

void com.lasalle.meeting.Communication.recevoir ( )

méthode recevant les trames des portiers

Renvoie
void

Définition à la ligne 123 du fichier Communication.java.

Références com.lasalle.meeting.Communication.CODE_RECEPTION, et com.lasalle.meeting.Communication.trame.

Référencé par com.lasalle.meeting.Communication.run().

124  {
125  byte[] reception = new byte[1024];
126 
127  while (socket != null && !socket.isClosed())
128  {
129  try
130  {
131  final DatagramPacket paquetRecu = new DatagramPacket(reception, reception.length);
132  socket.receive(paquetRecu);
133 
134  trame = new String(paquetRecu.getData(), paquetRecu.getOffset(), paquetRecu.getLength());
135  Log.d(TAG, "Réception de " + paquetRecu.getAddress().getHostAddress() + ":" + paquetRecu.getPort() + " -> " + trame);
136 
137  Message msg = Message.obtain();
138  Bundle b = new Bundle();
139  b.putString("adresseIP", paquetRecu.getAddress().getHostAddress());
140  b.putInt("port", paquetRecu.getPort());
141  b.putInt("etat", Communication.CODE_RECEPTION);
142  b.putString("trame", trame);
143  msg.setData(b);
144  mutex.lock();
145  handler.sendMessage(msg);
146  mutex.unlock();
147  }
148  catch (Exception e)
149  {
150  Log.d(TAG, "Erreur recevoir() [socket.isClosed = " + socket.isClosed() + "]");
151  e.printStackTrace();
152  }
153  }
154  }
Communication(Handler handler)
constructeur de communication
String trame
attribut récuperant la trame
static final String TAG
TAG utilisé dans les log.
Handler handler
attribut permetant d'envoyer une requête par rapport a une autre activity
DatagramSocket socket
attribut récuperant les informations de la socket

◆ run()

void com.lasalle.meeting.Communication.run ( )

méthode appelée automatiquement quand le socket reçois quelque chose

Renvoie
void

Définition à la ligne 247 du fichier Communication.java.

Références com.lasalle.meeting.Communication.recevoir().

Référencé par com.lasalle.meeting.Communication.envoyer().

248  {
249  recevoir();
250  }
void recevoir()
méthode recevant les trames des portiers

◆ setHandler()

void com.lasalle.meeting.Communication.setHandler ( Handler  handler)

change le handler par celui mis en paramètre

Paramètres
handlerHandler
Renvoie
void

Définition à la ligne 112 du fichier Communication.java.

Références com.lasalle.meeting.Communication.handler.

113  {
114  mutex.lock();
115  this.handler = handler;
116  mutex.unlock();
117  }
Handler handler
attribut permetant d'envoyer une requête par rapport a une autre activity

Documentation des données membres

◆ adresseIP

InetAddress com.lasalle.meeting.Communication.adresseIP = null
private

attribut récuperant l'adresse IP du portier

Définition à la ligne 38 du fichier Communication.java.

◆ adresseMulticast

final String com.lasalle.meeting.Communication.adresseMulticast = "239.0.0.42"
staticprivate

adresse de multicast des portiers

Définition à la ligne 29 du fichier Communication.java.

◆ CODE_RECEPTION

final int com.lasalle.meeting.Communication.CODE_RECEPTION = 1
static

code de reception correcte pour le portiers

Définition à la ligne 32 du fichier Communication.java.

Référencé par com.lasalle.meeting.Communication.recevoir().

◆ DELIMITEUR_CHAMP

final String com.lasalle.meeting.Communication.DELIMITEUR_CHAMP = ";"
static

Définition à la ligne 45 du fichier Communication.java.

◆ DELIMITEUR_EN_TETE

final String com.lasalle.meeting.Communication.DELIMITEUR_EN_TETE = "$"
static

Protocole

Définition à la ligne 44 du fichier Communication.java.

◆ DELIMITEUR_FIN

final String com.lasalle.meeting.Communication.DELIMITEUR_FIN = "\r\n"
static

Définition à la ligne 46 du fichier Communication.java.

◆ handler

Handler com.lasalle.meeting.Communication.handler
private

attribut permetant d'envoyer une requête par rapport a une autre activity

Définition à la ligne 39 du fichier Communication.java.

Référencé par com.lasalle.meeting.Communication.Communication(), et com.lasalle.meeting.Communication.setHandler().

◆ mutex

final ReentrantLock com.lasalle.meeting.Communication.mutex = new ReentrantLock()
private

Définition à la ligne 33 du fichier Communication.java.

◆ NB_DELIMITEURS_GET_1

final int com.lasalle.meeting.Communication.NB_DELIMITEURS_GET_1 = 6
static

Définition à la ligne 47 du fichier Communication.java.

◆ NB_DELIMITEURS_GET_2

final int com.lasalle.meeting.Communication.NB_DELIMITEURS_GET_2 = 3
static

Définition à la ligne 48 du fichier Communication.java.

◆ NB_DELIMITEURS_GET_3

final int com.lasalle.meeting.Communication.NB_DELIMITEURS_GET_3 = 1
static

Définition à la ligne 49 du fichier Communication.java.

◆ PORT

final int com.lasalle.meeting.Communication.PORT = 5000
staticprivate

port d'ecoute des portiers

Définition à la ligne 30 du fichier Communication.java.

◆ socket

DatagramSocket com.lasalle.meeting.Communication.socket
private

attribut récuperant les informations de la socket

Attributs

Définition à la ligne 37 du fichier Communication.java.

◆ TAG

final String com.lasalle.meeting.Communication.TAG = "Communication"
staticprivate

TAG utilisé dans les log.

Constantes

Définition à la ligne 28 du fichier Communication.java.

◆ TIMEOUT_RECEPTION_REPONSE

final int com.lasalle.meeting.Communication.TIMEOUT_RECEPTION_REPONSE = 30000
static

temps maximum d'une réponse d'un portier

Définition à la ligne 31 du fichier Communication.java.

Référencé par com.lasalle.meeting.Communication.Communication().

◆ trame

String com.lasalle.meeting.Communication.trame
private

attribut récuperant la trame

Définition à la ligne 40 du fichier Communication.java.

Référencé par com.lasalle.meeting.Communication.recevoir().


La documentation de cette classe a été générée à partir du fichier suivant :