Bonjour à tous,

Me voila confronté depuis quelques jours à un problème que je n'arrive pas à régler, et je ne trouve pas grand chose sur le net aussi

J'ai une application avec un front Angular7 + un backend en NodeJs pour gérer un chat.

Quand je me logue à l'application tous fonctionne très bien sans aucun souci. Mais quand je fais un refresh de la page, ou bien que je reviens sur l'url je n'arrive pas à relancer le socket.

Je check bien l'event disconnect pour pouvoir refaire un connect
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
this.socket.on('disconnect', (event) => {
mon code ici
});
si je tombe sur l'event de déconnexion alors je lance ce morceau de script

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
this.socket.ioSocket.io.opts.query = {
            origin: '*',
            reconnect: true,
            reconnectionDelay: 1000,
            reconnectionDelayMax: 5000,
            reconnectionAttempts: Infinity,
            secure: environment.chat.socket.secure
        }; 
 
        // Add url of the socket
        this.socket.ioSocket.io.uri = environment.chat.socket.url + ':' + environment.chat.socket.port;
 
        // Connect the socket
        if (!this.socket.ioSocket.connected) {
            this.socket.connect(); // manually connection
        }
J'utilise ngx-socket-io et ma configuration dans mon app.module.ts est assez simple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
// SocketIo Connexion
const config: SocketIoConfig = {
    url: environment.chat.socket.url + ':' + environment.chat.socket.port,
    options: {
        origin: '*',
        reconnect: true,
        reconnectionDelay: 1000,
        reconnectionDelayMax: 5000,
        reconnectionAttempts: Infinity,
        secure: environment.chat.socket.secure
    }
};
 
imports: [
         SocketIoModule.forRoot(config)
    ],
Quand je refresh la page j'obtiens ce message d'erreur (testé sous Chrome)
WebSocket connection to 'ws://xxxxxxxxx:xxxx/socket.io/?EIO=3&transport=websocket&sid=fK14wC_IJhcGmRnHAAAH' failed: WebSocket is closed before the connection is established.
Et biensur uniquement si je refresh la page....

Merci d'avance pour votre aide.

Decad7