通过WebSockets传输文本的正确方法是什么?

时间:2013-03-19 20:42:02

标签: javascript sockets google-chrome text websocket

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

如果您想自己实施,则需要RFC6455 reference来解码和编码帧。