html5的websorket

function websorketFunc(){
	ajax({
		url:path+"/sessionAlarmFlush",
		data:"",
		func:function(){
			
		}
	})
	var speed = -1;//声明一个速度变量
	var gjdata=true;
	var websocket = null,judge=false;
	  //判断当前浏览器是否支持WebSocket
	  if ('WebSocket' in window) {
		  var hrefAddress=document.location.href.split("http://")[1].split("/");
	      websocket = new WebSocket("ws://"+hrefAddress[0]+"/"+hrefAddress[1]+"/alarmMessage");
	  }
	  else {
	      //alert('当前浏览器 Not support websocket')
	  }
	  //连接发生错误的回调方法
	  websocket.onerror = function () {
		  //console.log("WebSocket连接发生错误");
	  };
	  //连接成功建立的回调方法
	  websocket.onopen = function () {
	     //console.log("WebSocket连接成功");
	  }
	  //接收到消息的回调方法
	  websocket.onmessage = function (event) {
		  _gjdata=event;
		  var easyuiData={rows:[],total:0};
		  var _data=JSON.parse(event.data).urgentNoDealAlarm;
		  for(var i=0;i<_data.result.length;i++){
			  for(var j=0;j<_data.result[i].alarms.length;j++){
				  _data.result[i].alarms[j].menuId=_data.result[i].menuId;
				  _data.result[i].alarms[j].menuName=_data.result[i].menuName;
				  easyuiData.rows.push(_data.result[i].alarms[j]);
			  }
		  }
		  easyuiData.total=easyuiData.rows.length;
		  /*fillEasyui({
			  data:easyuiData,
			  layer:layer
		  });*/
		  if(JSON.parse(event.data).alarmInfo.length == 0){
			  $('#imglist').html("");
			  return;
		  }
		  if(JSON.parse(event.data).alarmInfo[JSON.parse(event.data).alarmInfo.length-1] != alarmTime){//时间戳不对等,触发告警提示应
			  document.getElementById("alarmAudio").play();
		  }
		  /*if(!gjdata){
			  return;
		  }*/
		  //gjdata=false;
		  banner(event,speed/*,gjdata*/);
	  }
	  //连接关闭的回调方法
	  websocket.onclose = function(){
	      //console.log("WebSocket连接关闭");
	  }
	  //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
	  window.onbeforeunload = function () {
	      closeWebSocket();
	  }
	  //关闭WebSocket连接
	  function closeWebSocket() {
	      websocket.close();
	  }
	  //发送消息
	  /*function send() {
	      var message = document.getElementById('text').value;
	      websocket.send(message);
	  }*/
}

后端服务器主动发信息给前端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值