Ho creato un servizio generico per il resto che in aggiunta consuma un websocket per risorsa il mio codice websocket sembra così:
initialize(hubSubRoute: string): void{
const accessToken = this.authManager.getRawAccessToken();
let hubUrl = environment.baseUrl + hubSubRoute;
if (accessToken) {
hubUrl += '?' + this.hubAuthorizationQueryParameter +'=' + accessToken;
}
this._hubConnection = new HubConnectionBuilder()
.withUrl(hubUrl)
.build();
}
startConnection(): void {
this._hubConnection.start()
.then(() => {
console.log('Hub connection started');
this.connectionEstablished.emit(true);
})
.catch(err => {
console.log('Error while establishing connection');
});
}
So che le web socket sono una connessione longeva. Mi sto chiedendo le migliori pratiche per mantenere la loro longevità. Ad esempio, ho un servizio di messaggi. Che aprirà un websocket e invierà un messaggio non appena arriveranno, in, comunque
Se l'utente si allontana da quella conversazione, dovrei lasciare aperta la presa di rete?
O dovrei chiuderlo e quando l'utente torna a quella conversazione, ottieni i messaggi mancanti e reinizializza la presa?