2

我正在使用 WebSockets 开发一个 Web 应用程序,所以在某些时候我需要将一个文本文件发送到 Web 浏览器(在本例中为 chrome),但 chrome 只是调用 onerror 而不给我任何关于错误的线索。如果我使用 FireFox,它只是说有一个错误,但同样,它没有给我任何真正的线索。

起初我以为我在服务器端做错了什么,直到我想:如果我 tweek 操作码并告诉套接字我正在发送二进制数据怎么办,所以我做到了,并且正如我想象的那样没有发生错误,chrome 得到了文件,一切都很好,除了我不知道使用 JavaScript 将二进制数据转换为文本。这导致我编写了一个函数来对文本进行编码,使编码版本不包含特殊字符,再次,没有错误......所以这显然是文本本身的问题。

目前,我能够解决的唯一方法是对文本进行编码和解码,但是我不太确定这是正确的方法。所以我想知道:有没有更好的方法?

4

1 回答 1

0

首先,您不需要在浏览器中解码帧。它已经在解码二进制消息(标准 websocket 格式)。

我刚刚向 github 提交了一个可以工作的最小 websocket 服务器。你可以试一试。 SGwebsocket

如果您想自己实现,则需要 RFC6455 参考来解码和编码帧。

于 2013-07-21T00:15:57.443 回答