Python Eventlet+;Javascript-Websocket返回Blob
我正在试验Python的Eventlet Websocket支持,使用: 我不打算在Javascript中包含整个websocket处理程序,只包括Python Eventlet+;Javascript-Websocket返回Blob,javascript,python,json,websocket,eventlet,Javascript,Python,Json,Websocket,Eventlet,我正在试验Python的Eventlet Websocket支持,使用: 我不打算在Javascript中包含整个websocket处理程序,只包括ws.onmessage方法: ws.onmessage = function (evt) { console.log(evt.data) var received_msg = evt.data; #Do stuff, i.e var obj = JSON.parse(received_msg) #callback(obj)
ws.onmessage
方法:
ws.onmessage = function (evt)
{
console.log(evt.data)
var received_msg = evt.data;
#Do stuff, i.e var obj = JSON.parse(received_msg)
#callback(obj)
};
console.log(evt.data)
表示与websocket的连接成功(您可以假设这一切都正常)。但是,日志显示Blob{size:31,type:“}
作为evt.data
的内容。我假设这是一种被解释为二进制(文件)数据的响应对象(尽管我可能完全错了),但我不确定该怎么处理它
我发现Blob数据通常是类似文件的对象的数据类型。我想我可以这样做,但我真的只想来回发送json数据。我曾尝试将dict作为JSON转储并发送,但它也做了同样的事情。即使是字符串也是以Blob格式接收的
如何使用
eventlet
进行json数据传输?自2017-05年起,eventlet websocket API不支持字符串websocket帧。补丁是受欢迎的,很简单
您的选择:
- 读取javascript端的Blob
- 使用另一个websocket库(纯Python实现可以与Eventlet修补配合使用)
- 向Eventlet websocket库添加字符串框架支持
- 读取javascript端的Blob
- 使用另一个websocket库(纯Python实现可以与Eventlet修补配合使用)
- 向Eventlet websocket库添加字符串框架支持
ws.onmessage = function (evt)
{
console.log(evt.data)
var received_msg = evt.data;
#Do stuff, i.e var obj = JSON.parse(received_msg)
#callback(obj)
};