我正在尝试使用Netty的WebSocketServer(Netty WebSocketServer)。我想从本机Web套接字客户端(来自:http://www.tutorialspoint.com/html5/html5_websocket.htm)向此服务器发送消息,代码如下:
<!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 :(得分:0)
请注意,netty的稳定版本不支持浏览器使用的较新的websocket版本。您可能想要检查是否正在成功建立websocket连接。
答案 1 :(得分:0)
您使用的是哪种浏览器?
Netty 3.2中的代码支持HyBi-00。大多数浏览器都从该版本开始。请参阅post。
Netty 3.3(源代码的3.2分支)和4.0(源代码的主分支)包含对最新Web套接字标准(RFC 6455)的支持。
我的建议是使用netty 3.2分支。
希望这有帮助。