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)
}
}
[html] view plain copy
function handler(data){
switch(data[0]){
case 1:
getCard(data[1])
break
...
JS *** 作websocket接收的图片,今天刚写的,也是用filereader实现。
[html] 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 url = evt.target.result
alert(url)
var img = document.getElementById("imgDiv")
img.innerHTML = "<img src = "+url+" />"
}
}
reader.readAsDataURL(evt.data)
}
}
把二进制字符串先转为byte[] ,接收后再转回来byte[] msg = Encoding.Default.GetBytes(你的二进制字符串)socket发送socket接收byte[]string 你的二进制字符串 = Encoding.Default.GetString(接收到的byte[])Encoding可以自己选择
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)