【Websoket】实时推送图像数据,前端实时显示

本文档详细介绍了如何使用WebSocket实现实时图像数据推送,通过将图片编码为Base64字符串,转化为JSON格式后由前端接收并显示。内容包括WebSocket的建立、图片编码、前端显示的方法及关键代码示例。
摘要由CSDN通过智能技术生成

1. 如何建立WebSocket   

      1.1  前端代码 Index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML>
<html>
<head>
<base href="<%=basePath%>">
<title>My WebSocket</title>
</head>


<body>
Welcome<br/>
NickName:<input type='text' name='nickName' value='admin' id='nickName'>
<br />
<input id="text" type="text" />
<button οnclick="send();">Send</button>
<button id='close' οnclick="closeWebSocket();">Close</button>

<div id="message" style="height: 250px;width: 280px;border: 1px solid; overflow: auto;"></div>

<img src="" id="image">

</body>




<script type="text/javascript">
      var websocket = null;
      var nickName = document.getElementById('nickName').value;
      
      //判断当前浏览器是否支持WebSocket
      if('WebSocket' in window){
          websocket = new WebSocket("ws://localhost:8080/WebSocketDemo/websocket1");//新建一个WebSocket(chrome firefox等浏览器已经集成了websocket模块)
      }
      else{
          alert('Not support websocket')
      }
     
      //websocket.binaryType="arraybuffer";
      //注册一些信息    
      websocket.onerror = WSonError;
       
      websocket.onopen = WSonOpen;//socket建立后触发
       
      websocket.onmessage = WSonMessage;//socket收到消息后触发  
       
      websocket.onclose = WSonClose;  
      
      window.onbeforeunload = WSonBeforeUnload;
      
      function setMessageInnerHTML(innerHTML){
          document.getElementById('message').innerHTML += innerHTML + '<br/>';
      }
      function WSonOpen(){
     setMessageInnerHTML("成功进入聊天室");
      }
      function WSonError(){
     setMessageInnerHTML("发生错误");
      }
      function WSonMessage(event){
     
     var json=JSON.parse(event.data);
     
     //document.getElementById('message').innerHTML+='<div id="image" style="width:500px; height:300px; border:1px solid"></div>';
     //var img=new Image();
     //img.src="data:image/*;base64,"+js
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值