Class WebSocketChatAdapter
java.lang.Object
org.java_websocket.WebSocketAdapter
org.java_websocket.AbstractWebSocket
org.java_websocket.client.WebSocketClient
client.infrastructure.websocket.WebSocketChatAdapter
- All Implemented Interfaces:
IEnvoyeur, Runnable, org.java_websocket.WebSocket, org.java_websocket.WebSocketListener
public class WebSocketChatAdapter
extends org.java_websocket.client.WebSocketClient
implements IEnvoyeur
Adaptateur WebSocket pour la communication avec le serveur de chat MateZone.
Cette classe étend WebSocketClient et implémente IEnvoyeur pour gérer la
connexion,
l'envoi et la réception des messages via WebSocket. Elle fait le pont entre
la couche métier et la communication réseau en utilisant le protocole
WebSocket.
Les messages sont sérialisés/désérialisés en JSON via Gson.
- Version:
- V1
- Author:
- Joshua Hermilly
-
Field Summary
Fields inherited from class org.java_websocket.client.WebSocketClient
uriFields inherited from class org.java_websocket.AbstractWebSocket
DEFAULT_READ_BUFFER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionWebSocketChatAdapter(String serverUri, INotifieur iNotifieur) Constructeur de l'adaptateur WebSocket. -
Method Summary
Modifier and TypeMethodDescriptionvoidÉtablit une connexion WebSocket avec le serveur.voidenvoyer(ChatEventDTO event) Envoie un événement de chat au serveur via WebSocket.voidCallback appelé lors de la fermeture de la connexion WebSocket.voidCallback appelé en cas d'erreur dans la connexion WebSocket.voidCallback appelé lors de la réception d'un message du serveur.voidonOpen(org.java_websocket.handshake.ServerHandshake handshakedata) Callback appelé lors de l'ouverture réussie de la connexion WebSocket.Methods inherited from class org.java_websocket.client.WebSocketClient
addHeader, clearHeaders, close, close, close, closeBlocking, closeConnection, connect, connectBlocking, connectBlocking, getAttachment, getConnection, getConnections, getDraft, getLocalSocketAddress, getLocalSocketAddress, getProtocol, getReadyState, getRemoteSocketAddress, getRemoteSocketAddress, getResourceDescriptor, getSocket, getSSLSession, getURI, hasBufferedData, hasSSLSupport, isClosed, isClosing, isFlushAndClose, isOpen, onCloseInitiated, onClosing, onMessage, onSetSSLParameters, onWebsocketClose, onWebsocketCloseInitiated, onWebsocketClosing, onWebsocketError, onWebsocketMessage, onWebsocketMessage, onWebsocketOpen, onWriteDemand, reconnect, reconnectBlocking, removeHeader, run, send, send, send, sendFragmentedFrame, sendFrame, sendFrame, sendPing, setAttachment, setDnsResolver, setProxy, setSocket, setSocketFactoryMethods inherited from class org.java_websocket.AbstractWebSocket
getConnectionLostTimeout, getReceiveBufferSize, isDaemon, isReuseAddr, isTcpNoDelay, setConnectionLostTimeout, setDaemon, setReceiveBufferSize, setReuseAddr, setTcpNoDelay, startConnectionLostTimer, stopConnectionLostTimerMethods inherited from class org.java_websocket.WebSocketAdapter
onPreparePing, onWebsocketHandshakeReceivedAsClient, onWebsocketHandshakeReceivedAsServer, onWebsocketHandshakeSentAsClient, onWebsocketPing, onWebsocketPong
-
Constructor Details
-
WebSocketChatAdapter
Constructeur de l'adaptateur WebSocket. Initialise la connexion WebSocket vers le serveur et configure le notifieur pour la gestion des messages entrants.- Parameters:
serverUri- l'URI du serveur WebSocket (ex: "ws://localhost:8080")iNotifieur- l'interface de notification pour transmettre les messages reçus- Throws:
Exception- si l'URI du serveur est invalide ou si l'initialisation échoue
-
-
Method Details
-
envoyer
Envoie un événement de chat au serveur via WebSocket. Vérifie d'abord que la connexion est ouverte, sérialise l'événement en JSON et l'envoie au serveur. Affiche une erreur si la connexion n'est pas disponible. -
connecter
Établit une connexion WebSocket avec le serveur. Utilise une connexion bloquante qui attend la confirmation de connexion avant de continuer. Ne tente la connexion que si elle n'est pas déjà ouverte.- Specified by:
connecterin interfaceIEnvoyeur- Throws:
InterruptedException- si la connexion est interrompue pendant l'attente
-
onOpen
public void onOpen(org.java_websocket.handshake.ServerHandshake handshakedata) Callback appelé lors de l'ouverture réussie de la connexion WebSocket. Affiche un message de confirmation de connexion dans la console.- Specified by:
onOpenin classorg.java_websocket.client.WebSocketClient- Parameters:
handshakedata- les données de handshake fournies par le serveur
-
onMessage
Callback appelé lors de la réception d'un message du serveur. Désérialise le message JSON reçu en ChatEventDTO et le transmet au notifieur pour traitement par la couche métier.- Specified by:
onMessagein classorg.java_websocket.client.WebSocketClient- Parameters:
message- le message JSON reçu du serveur
-
onClose
Callback appelé lors de la fermeture de la connexion WebSocket. Affiche la raison de la déconnexion dans la console.- Specified by:
onClosein classorg.java_websocket.client.WebSocketClient- Parameters:
code- le code de fermeture WebSocketreason- la raison de la fermeture fournie par le serveurremote- indique si la fermeture a été initiée par le serveur distant
-
onError
Callback appelé en cas d'erreur dans la connexion WebSocket. Affiche la trace complète de l'exception dans la console pour le débogage.- Specified by:
onErrorin classorg.java_websocket.client.WebSocketClient- Parameters:
ex- l'exception qui a provoqué l'erreur
-