java 如何解析WebSocket传输的二进制数据
JS操作websocket接收的二进制,安全性能有保障,已经过一年实践考验:
[javascript] view plain copy
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var data = new Uint8Array(evt.target.result);
handler(data);
}
}
reader.readAsArrayBuffer(evt.data);
}
};
function handler(data){
switch(data[0]){
case 1:
getCard(data[1]);
break;
...
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
//textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var url = evt.target.result;
alert(url);
var img = document.getElementById("imgDiv");
img.innerHTML = "<img src = "+url+" />";
}
}
reader.readAsDataURL(evt.data);
}
};
[html] view plain copy
JS操作websocket接收的图片,今天刚写的,也是用filereader实现。
[html] view plain copy