【问题标题】:Java websocket server receives not plain text when client sends strings当客户端发送字符串时,Java websocket服务器接收到的不是纯文本
【发布时间】:2014-12-06 13:57:44
【问题描述】:

大家好,

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

现在我有一个 java 套接字服务器,它与我的客户端成功建立,但是当我用我的客户端“测试”发送时,我收到类似“?„þdl»ŠÏ”的信息。它总是一个不同的接收。

没有行尾,什么都没有。我正在使用 inputstream.read() 读取它。握手是纯文本的,效果很好。

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

Websocket Java Server. Not sending message nor receiving略有重复 --> 反正我没听懂。

感谢您的任何建议!

【问题讨论】:

    标签: java sockets web websocket


    【解决方案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很像。

    【讨论】:

    猜你喜欢
    • 2017-06-22
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2018-03-02
    • 2011-10-22
    相关资源
    最近更新 更多