2013-03-19 37 views
2

我正在开发一个使用WebSockets的Web应用程序,所以在某些时候我需要发送一个文本文件到Web浏览器(在这种情况下是Chrome),但是Chrome只是调用onrorror而没有提供任何有关错误的线索。如果我和FireFox一起工作,它只是说有错误,但再一次,它没有给我提供任何线索。什么是通过WebSockets传输文本的正确方式?

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

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

+0

解决!我再次读了rfc6455,并意识到我需要UTF-8编码文本之前发送到客户端。希望这可以帮助别人。 – 2013-03-20 03:12:00

+0

你能否用解决方案和宝贵的调查结果回答你自己的问题,以便其他人能够得到帮助? – 2013-03-31 01:30:41

回答

0

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

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

如果你想自己实现,你需要RFC6455 reference来解码和编码帧。

相关问题