Per quanto ne so l'API non fornisce ciò che si sta cercando, sul lato server è possibile rilevare solo eventi di disconnessione. Se si desidera disconnettere un determinato client, penso che sia necessario eseguire una soluzione alternativa, ad es. questo:
- Scrivi un JavaScript lato client funzione che è in grado di innescare una disconnessione
- Non appena il client è connesso al server, generare un ID cliente in Javascript e inviarlo al server . Ricorda l'ID sul client, ne avrai bisogno al punto (4).
- Nel momento in cui si desidera che il server disconnetta la connessione al client specifico (identificato dall'ID), inviare un messaggio contenente l'ID al client.
- Ora il tuo client javascript valuta il messaggio inviato dal server e decide di chiamare la funzione di disconnessione che hai scritto al punto (1).
- Il client si disconnette da solo.
La soluzione è un po 'macchinosa ma funzionerà.
Purtroppo che assume il client è conforme con il messaggio di disconnessione. In definitiva, non voglio che il cliente abbia voce in capitolo. Marcare come risposta perché non sembra possibile. – user1751547
In base al codice sorgente del metodo 'afterConnectionEstablished()' di SubProtocolWebSocketHandler.java', puoi leggere: '// WebSocketHandlerDecorator potrebbe chiudere la sessione' –