Je dois attraper dans le serveur chaque fois qu'un client n'écoute plus le flux. Je pensais que ce serait faire:Puis-je être averti lorsque le client grpc se déconnecte?
function getEvents(call) {
const { type } = call.request
EVENTS
.filter((e) => e.type === type)
.foreach((event) => call.write(event))
call.on('end',() => { console.log('client left...') })
}
Ce que je voulais est qu'un client se connecter, spécifiez un type d'événement, et recevoir un flux d'événements. La connexion serait alors suspendue jusqu'à Ctrl+C
et "client laissé ..." serait enregistré dans la console.
code client serait comme:
function main() {
const client =
new EventStore('localhost:50051', grpc.credentials.createInsecure())
const call = client.getEvents({ type: 'Done' })
call.on('data', (event) => console.log(event))
}
Tout fonctionne comme prévu, seul le rappel pour call.on('end')
ne se déclenche. J'ai obtenu les bases pour cela à partir du gRPC Tutorial mais il me manque quelque chose.