【发布时间】:2016-09-30 05:35:52
【问题描述】:
我正在使用 python SimpleWebSocketServer,修改后的 SimpleExample.py 和 Chrome。
当我将字符串从浏览器发送到 python 时,一切正常,但是当我将字符串从 python 发送到浏览器时,我不知道如何将接收到的 ArrayBuffer(或 Blob,如果配置)转换为 javascript字符串。
Python 代码:
def handleConnected(self):
with open("roads.txt") as roadsfile:
content = "" + roadsfile.read()
self.sendMessage(content)
浏览器代码:
function doConnect() {
websocket = new WebSocket("ws://localhost:8000/");
websocket.binaryType = 'arraybuffer';
websocket.onmessage = function(event) { onMessage(event) };
}
function onMessage(event) {
console.log(event.data);
}
记录的只是ArrayBuffer{},我猜应该是空的。
我不知道如何处理这个 ArrayBuffer,也不知道如何检查它的有效性。
顺便说一句,roads.txt 的文件内容是一长行基于文本的浮点数,类似于 .csv,所以如果我可以将它们编码为实际的二进制数组,那就更好了!
【问题讨论】:
-
也许离开
websocket.binaryType = 'arraybuffer';,看看你能不能得到一个普通的字符串。 -
@domoarrigato,现在我在
console.log上收到Blob {size: 70127, type: ""} -
@heltonbiker:你能帮我处理一下stackoverflow.com/questions/44939566/…。另外,请提供您申请通过ws接收的解决方案
标签: javascript python websocket blob arraybuffer