Gestion des Événements
Le SDK émet plusieurs événements pour gérer divers états et messages. Vous pouvez écouter ces événements pour gérer le comportement de votre application en conséquence.
Événements Disponibles
- open : Émis lorsque la connexion WebSocket est ouverte avec succès.
- message : Émis lorsqu'un message est reçu du serveur.
- error : Émis lorsqu'une erreur se produit.
- close : Émis lorsque la connexion WebSocket est fermée.
Écouter les Événements
client.on('open', () => {
console.log('Connexion WebSocket ouverte.');
});
client.on('message', (payload) => {
const message = JSON.parse(payload);
console.log('Message reçu:', message);
});
client.on('error', (error) => {
console.error('Une erreur s\'est produite:', error);
});
client.on('close', () => {
console.log('Connexion WebSocket fermée.');
});
Gestion des Erreurs
Le SDK inclut la gestion des erreurs pour s'assurer que les problèmes sont communiqués efficacement.
Émission d'Erreurs
Les erreurs sont émises via l'événement error. Vous pouvez écouter cet événement pour gérer les erreurs avec élégance.
client.on('error', (error) => {
console.error('Une erreur s\'est produite:', error);
});
Scénarios d'Erreur Courants
- Configuration Manquante : Des erreurs seront émises si les options de configuration requises comme
websocketUrlouauthenticationUrlsont manquantes. - Échec d'Authentification : Si l'authentification échoue, une erreur avec le message correspondant sera émise.
- Problèmes WebSocket : Les erreurs liées aux connexions WebSocket, telles que les échecs de connexion ou les fermetures inattendues, seront émises.
Structure de l'Objet Erreur
Lorsqu'une erreur est émise, elle suit la structure suivante :
{
category: 'WEBSOCKET', // Catégorie d'erreur (types disponibles: AUTHENTICATION, OCO, VALIDATION, WEBSOCKET)
code: 'INVALID_WEBSOCKET_URL', // Code d'erreur qui identifie quelle erreur vient de se produire
message: 'Empty or invalid Websocket URL', // Message d'erreur expliquant le problème
details: null // Détails d'erreur qui peuvent ou non apporter des informations supplémentaires
suggestions: [] // Liste de suggestions sur comment corriger l'erreur
}