Escrevendo um servidor WebSocket

Estou tentando escrever um WebSocket Server em java e C ++, mas estou preso agora. Usando java e java.net.ServerSocket / java.net.Socket Consegui obter uma conexão e executar com êxito o handshake, mas os dados enviados pelo WebSocket ao Java Server não são exatamente o que eu esperav

Ao enviar mensagens de javascript como este:

var count = 0;
function loop(){
    websocket.send("loop: " + count + "\n");
    count++;

    setTimeout(loop, 100);
}

O servidor Java recebe isso, com feeds de linha de vez em quando, mas não para todos os websocket.send () que foram chamado

? ‡ ½ ÷ "èÑè × ‡ Aα3-¡C {ïN? ‡ [Í [Uà ¢ 4%%? ‡ $ ÍåøH ¢ ŠˆíÖ? ‡ · † ÞžÛé ± î? ¦ê? ‡ '½Ø … KÒ · õ? Í? ‡ dÒÛ '
½´á ^ òí? ‡ + Y? YG – â) Ùº? ‡ ›
Ë b àb »¡¯5? ‡ mÉ5Q¦ã! Wéµ? J: J FV% f6

O servidor Java recupera valores do soquete usando BufferedReader.readLine ()

BufferedReader socketReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line =socketReader.readLine();

Isso funciona bem para o aperto de mão e todos os dados do aperto de mão são legíveis, mas não funcionam após a conclusão do aperto de mã

Os dados após o aperto de mão estão de alguma forma criptografados? Como posso ler?

EDIT:

Os arquivos de programa:

SocketConnectTest.html
ServerTest.java
ClientSessionTest.java
ResponseGenerator.java
resultad

Apenas execute ServerTest.java e abra SocketConnectTest.htm
ClientSessionTest.initClientListener () lida com as mensagens do client

SOLUTION: Para a solução, veja pimvdbs post abaixo e sua resposta emComo (des) construir quadros de dados no WebSockets hybi 08 +?

questionAnswers(1)

yourAnswerToTheQuestion