Ich benutze Python SimpleWebSocketServer, mit einer modifizierten SimpleExample.py
und Chrome.Lesen String von ArrayBuffer erhalten über Websocket
Alles funktioniert gut, wenn ich Strings vom Browser zu Python sende, aber wenn ich einen String von Python zum Browser sende, habe ich nicht die leiseste Idee, wie man den empfangenen ArrayBuffer (oder Blob, falls konfiguriert) in einen transformiert JavaScript-Zeichenfolge.
Python-Code:
def handleConnected(self):
with open("roads.txt") as roadsfile:
content = "" + roadsfile.read()
self.sendMessage(content)
Browser Code:
function doConnect() {
websocket = new WebSocket("ws://localhost:8000/");
websocket.binaryType = 'arraybuffer';
websocket.onmessage = function(event) { onMessage(event) };
}
function onMessage(event) {
console.log(event.data);
}
und was protokolliert werden nur ArrayBuffer{}
ist, erscheint leer zu sein, denke ich.
Ich weiß nicht, was ich mit diesem ArrayBuffer tun soll, und auch nicht, wie ich auf seine Gültigkeit prüfen soll.
Übrigens, der Dateiinhalt von roads.txt
ist eine lange Reihe von textbasierten Gleitkommazahlen, ähnlich wie bei .csv, also wenn ich sie als ein tatsächliches Binärarray kodieren könnte, desto besser!
Dies könnte helfen: https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String?hl=en – ErikR
vielleicht aus "websocket" .binaryType = 'arraybuffer'; 'und sehen, ob Sie eine reguläre Zeichenfolge erhalten können. – domoarrigato
@domoarrigato, jetzt bekomme ich 'Blob {Größe: 70127, Typ:" "}' auf 'console.log' – heltonbiker