javascript websocket 二进制转字符串 二进制转对象

时间:2025-03-28 09:33:35
<script> var ws; var WEB_SOCKET_SWF_LOCATION = 'assets/socket/media/'; var WEB_SOCKET_DEBUG = true; $(function (){ connection(); }); function connection(){ var loc=; var arr=("/"); arr=arr[2]; var url = ""; if(("https:")!=-1){ url = "wss://"+arr+"/chat/SYMSG" }else{ url = "ws://"+arr+"/chat/SYMSG" } url = "ws://IP:端口号0" //url = "ws://IP:端口号/ws/webSocket" if ('WebSocket' in window) { ws = new WebSocket(url); } else if ('MozWebSocket' in window) { ws = new MozWebSocket(url); } ='arraybuffer'; //发送的消息转为二进制 //='blob'; //发送的消息转为对象,webSocket默认为blob = function() { ("链接成功!"); var msg='{"msg_id":"ws__getMemberListRequest","user":"admin"}'; //发送消息 (msg); }; = function(resultValue) { ("WebSocket:收到一条消息-norm", resultValue); showResult(resultValue); //服务端响应消息 }; = function (e) { ('websocket 断开: ' + + ' ' + + ' ' + ) (e) } = function(e) { ("e:"+e); }; } //响应消息数据 function showResult(result){ ("rsult:"+result) var json = (new TextDecoder("utf-8").decode(new Uint8Array())); //将二进制数组转为字符串(重点) if (json!=undefined&&json!=""){ var data; var html; var status; var encodertype; //将字符串转为对象 //var parentJsons =eval(json); //var parentData=; //var parentJson=(parentData); if (json.msg_id=="ws__getMemberListResponse"){ //("msg_id:"+json.msg_id); var return_data = json.return_; //var return_data = eval(parentJson.return_.memberInfoList[0].id); if (return_data.>0){ data=return_data.memberInfoList; for (let i = 0; i < ; i++) { //("id:"+data[i].id+"-->rtspinfo:"+data[i].); //状态判断 if (data[i].memberStatus==0){ status="离线"; }else if(data[i].memberStatus==1){ status="在线"; }else if (data[i].memberStatus==2){ status="正在呼叫"; }else if (data[i].memberStatus==3){ status="正在挂断"; } //类型 if (data[i].memberType==4){ encodertype="ipcamera"; }else if(data[i].memberType==9){ encodertype="sip"; }else if (data[i].memberType==3){ encodertype="avx3000"; }else if (data[i].memberType==10){ encodertype="codec200"; }else if(data[i].memberType==0){ encodertype="h323"; } //页面数据显示 html+="<tr>" + "<th class=\'no-sorting\' style=\'width:25px;white-space:nowrap;\'>"+ "<input type=\'checkbox\' class=\'cbr\' value=\'"+data[i].id+"\' data=\'"+data[i].memberStatus+"\'>"+ "</th>"+ "<td>"+status+"</td>"+ "<td>"+data[i].memberName+"</td>"+ "<td>"+data[i].memberAddress+"</td>"+ "<td>"+encodertype+"</td>"+ "<td>"+data[i].SendAudioFmt+"/"+data[i].RecvAudioFmt+"</td>"+ "<td>"+data[i].SendVideoFmt+"/"+data[i].RecvVideoFmt+"</td>"+ "<td>"+ /*操作*/ "<a href=\'?coderId="+data[i].id+"\' >"+ "修改" +"</a>"+"|"+ "<a href=\'\' οnclick=\'deleteEncoder("+data[i].id+","+data[i].memberStatus+")\'>"+ "删除" +"</a>"+ "</td>"+ "</tr>"; } $("#choose").html(html); } }else if (parentJson.msg_id=="ws__deleteMemberResponse"){ if (parentJson.result_=="0"){ alert("删除成功!"); =""; }else { alert("删除失败!"); =""; } } } } </script>