3
Я использую Tornado для работы с клиентским приложением, используя Javascript. Для обмена данными используется BSON. Поскольку Tornado для отправки данных использует JSON, я написал моя функция отправки через WebSocket:BSON decode от Blob
def write_bson(self, message):
message = BSON.encode(message)
self.ws_connection.write_message(message, binary=True)
Поскольку «бинарное = True» в браузере я получаю Blob и не понимаю, как выполнить BSON декодирования принятого сообщения.
Я попытался следующий способ выполнения декодирования, в комментариях я указал выход console.log:
t = new WebSocket(url);
t.onmessage = function(event) {
console.log(event.data); // Blob { size: 390, type: "" }
console.log(BSON.deserialize(event.data)); // Error: corrupt bson message
var reader = new FileReader();
reader.onload = function(e) {
console.log(e.target.result); // ArrayBuffer { byteLength: 390 }
};
var data = reader.readAsArrayBuffer(event.data);
console.log(BSON.deserialize(data)); // Error: corrupt bson message
Как расшифровать BSON?
спасибо, но вы должны иметь возможность отправлять сообщения внутри двоичных данных –