Schiaffo qui la soluzione ad un problema che avevo due anni e mezzo fà, sempre relativo ai websocket server, anche se è leggermente... OT!
A volte, apparentemente senza motivo, la prima connessione tra client e server generava un errore. Il client iniziava la connessione (come è normale che sia), l'evento Connected del websocket veniva eseguito ed a quel punto il client inviava i dati per l'autenticazione.
Sembrava tutto normale: evento Connected, sono connesso, invio i dati; invece a quel punto il websocket del server potrebbe non essere già pronto a riceverli, addirittura sembra che non fosse stato nemmeno ancora creato (l'errore sul server era di tipo Null object).
La soluzione è di fare SEMPRE in modo che i primi dati trasmessi siano quelli del server verso il client! Insomma, il server deve sempre dare l'ok al client prima che questo invii dati (questo solo appena connessi, ovviamente).