【发布时间】:2014-02-15 18:39:09
【问题描述】:
我创建了一个到我的网络服务器的 WebSocket 连接来接收一些数据。但是,当我记录在onmessage 函数中收到的事件时,我看不到数据的真实内容。
当我复制 Chrome 浏览器 v32 作为 curl 命令打开的网络连接并在我的操作系统控制台上运行它时,一切正常。所以我认为我的 WebSocket 设置一定是错误的。 event.data 对象是 Blob 的一个实例。
这是我的代码(实际上是 CoffeeScript,但容易理解):
socket = new WebSocket "wss://myserverurl/some-endpoint"
socket.onopen = (event) ->
console.log 'Connection opened (WebSocket)'
socket.onclose = (event) ->
console.log 'Connection closed (WebSocket)'
code = event.code
reason = event.reason
wasClean = event.wasClean
socket.onmessage = (event) ->
console.log JSON.stringify event
我得到的event:
{
"ports": [],
"data": {
"type": "",
"size": 594
},
...
"cancelBubble": false,
"returnValue": true,
"srcElement": {
"binaryType": "blob",
"extensions": "",
"protocol": "",
"onerror": null,
"bufferedAmount": 0,
"readyState": 1
},
"defaultPrevented": false,
"timeStamp": 1390578698613,
"cancelable": false,
"bubbles": false,
"eventPhase": 2,
"currentTarget": {
"binaryType": "blob",
"extensions": "",
"protocol": "",
"onerror": null,
"bufferedAmount": 0,
"readyState": 1
},
"target": {
"binaryType": "blob",
"extensions": "",
"protocol": "",
"onerror": null,
"bufferedAmount": 0,
"readyState": 1
},
"type": "message"
}
【问题讨论】:
标签: javascript websocket coffeescript blob