2012-01-08 1 views
0

Я пытаюсь использовать WebSocketServer Netty (Netty WebSocketServer). Я хочу, чтобы отправлять сообщения на этот сервер из нативного клиента веб-сокетов (от: http://www.tutorialspoint.com/html5/html5_websocket.htm) с кодом следующим образом:Web Socket & Netty - Полученное сообщение Тип на messageReceived

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript"> 
function WebSocketTest() 
{ 
    if ("WebSocket" in window) 
    { 
    alert("WebSocket is supported by your Browser!"); 
    // Let us open a web socket 
    var ws = new WebSocket("ws://localhost:3210/websocket"); 
    ws.onopen = function() 
    { 
     // Web Socket is connected, send data using send() 
     ws.send("Message to send"); 
     alert("Message is sent..."); 
    }; 
    ws.onmessage = function (evt) 
    { 
     var received_msg = evt.data; 
     alert("Message is received..."); 
    }; 
    ws.onclose = function() 
    { 
     // websocket is closed. 
     alert("Connection is closed..."); 
    }; 
    } 
    else 
    { 
    // The browser doesn't support WebSocket 
    alert("WebSocket NOT supported by your Browser!"); 
    } 
} 
</script> 
</head> 
<body> 
<div id="sse"> 
    <a href="javascript:WebSocketTest()">Run WebSocket</a> 
</div> 
</body> 
</html> 

Однако в методе messageReceived обработчика, он видит входящее сообщение типа BigEndianHeapChannelBuffer.

Что необходимо изменить в код сервера?

ответ

0

Какой браузер вы используете?

Код в Netty 3.2 поддерживает HyBi-00. Большинство браузеров перешли от этой версии. См. post.

Netty 3.3 (3.2 ветка источника) и 4.0 (главная ветвь источника) содержит поддержку последних стандартов сетевых сокетов (RFC 6455).

Моя рекомендация - использовать netity 3.2 branch.

Надеюсь, это поможет.

+0

Спасибо за ваш ответ, я спустил источник, и я пытаюсь построить через maven, но он спрашивает меня «GPF Passphrase». Я не мог найти никакой информации об этом. знаете ли вы пароль? или что мне делать? –

+0

Я думаю, вы можете случайно его развернуть. Попробуйте mvn jar или mvn package. – Veebs

+0

yeap работает с пакетом mvn. однако я все еще получаю BigEndianHeapChannelBuffer. Кстати, я использую chromium 14.0.835.202 (Developer Build 103287 Linux), и я загрузил https://github.com/netty/netty/tree/3.2 –

0

Обратите внимание, что стабильный выпуск netty не поддерживает более новые версии веб-камер, используемые браузерами. Возможно, вы захотите проверить, успешно ли установлено соединение с веб-узлами.