Websockets和二进制数据

时间:2011-07-29 07:30:23

标签: javascript html5 node.js websocket socket.io

据我所知,websockets支持二进制数据传输。二进制支持错误is fixed

那么,是否有支持二进制数据传输的websocket服务器? Socket.io似乎错过了这个机会。也许还有其他人?

2 个答案:

答案 0 :(得分:6)

在WebSocket服务器中支持二进制数据非常简单(实际上UTF-8的工作量更少)。真正的问题是在浏览器中支持二进制数据类型。它正在开发中,但截至目前还没有可以支持发送和接收二进制类型的浏览器版本(类型化数组,blob)。

如果您需要在浏览器添加支持之前发送二进制数据,您可以尝试我的websockify python服务器和Javascript客户端库。它使用base64编码通过线路传输二进制数据。它使用数字数组(0-255)来表示Javascript端的二进制数据,而不是类型数组/ blob。

一些链接:

答案 1 :(得分:1)

以下是具有“二进制消息”功能行的WebSockets实现(浏览器,客户端,服务器)的比较:

http://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations

目前(2011年9月16日),支持二进制WS消息的浏览器是:

  • Chrome 15或更高版本
  • IE10(Windows 8开发人员预览的一部分)
  • Firefox 11或更高版本

有关详细的测试报告和浏览器比较,请参阅:

http://autobahn.ws/testsuite/