当客户端发送字符串时,Java websocket服务器不接收纯文本

时间:2014-10-11 14:24:09

标签: java sockets web websocket

Hei Guys,

我正在构建自己的websocket服务器,以学习一些东西。

现在我有一个java套接字服务器,它与我的客户端建立成功但是当我发送我的客户端“test”时,我会收到类似“?”somethingdl»ŠÏ“的内容。它总是不同的接收。

没有行结束,没有。我正在用inputstream.read()读出它。握手是纯文本,效果很好。

我看过websocket数据格式,但我不知道应该如何使用它。

Websocket Java Server. Not sending message nor receiving略有重复 - >但无论如何我还是不明白。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

屏蔽了客户端发送的数据。您必须从帧中获取数据并取消屏蔽它。

unmask功能应该是这样的:

var DECODED = "";
for (var i = 0; i < ENCODED.length; i++) {
    DECODED[i] = ENCODED[i] ^ MASK[i % 4];
}

读: https://developer.mozilla.org/en-US/docs/WebSockets/Writing_WebSocket_servers#Step_2.3A_Exchanging_Data_Frames

这是how to develop a WebSocket server in C#的教程,可能与Java非常相似。