我正在尝试将Android设备上的屏幕内容流式传输到远程Web浏览器。我正在使用Web套接字来传输内容。我正在使用这个库在Android设备端实现websocket服务器:https://github.com/TooTallNate/Java-WebSocket。我试图在浏览器端使用HTML画布来接收内容。我不是一个javascript程序员,但需要在javascript中编写一些websocket客户端代码,以便从Android设备接收内容。
在Android方面:
public void send(byte[] bytes) {
for (final WebSocket conn : connections) {
conn.send(bytes);
}
}
基本上它将截图读取为Java中byte []表示的位图。
我在浏览器上使用此javascript代码来接收数据:
document.getElementById("open").onclick = function(evt) {
if (ws) {
return false;
}
ws = new WebSocket(serverAddr);
ws.onopen = function(evt) {
print("OPEN");
}
ws.onclose = function(evt) {
print("CLOSE");
ws = null;
}
ws.onmessage = function(evt) {
print("RESPONSE: " + evt.data);
console.log(evt);
}
ws.onerror = function(evt) {
print("ERROR: " + evt.data);
}
return false;
};
print方法只是将字符串附加到div。
确实调用了ws.onmessage。我可以看到很多
RESPONSE: [object Blob]
在浏览器中打印出来然后我试图找出我在javascript代码中实际收到的内容。所以我去了控制台看到这样的东西:
然后我觉得我正在撞墙:我确实在javascript中收到了一些对象,因为它打印出“object Blob”。它应该包含位图数据(大小相当大)。但这是我从控制台可以看到的所有信息。如果我不知道有关它的详细信息,我该如何处理javascript?