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 +?