当前位置: 首页 > news >正文

制作销售网站查看网站被恶意镜像

制作销售网站,查看网站被恶意镜像,番禺区网站建设公司,外贸公司取名字大全集前端代码 function initWebSocket() {if (typeof WebSocket undefined) {console.log(您的浏览器不支持WebSocket);} else {console.log(您的浏览器支持WebSocket);//实现化WebSocket对象#xff0c;指定要连接的服务器地址与端口 建立连…前端代码 function initWebSocket() {if (typeof WebSocket undefined) {console.log(您的浏览器不支持WebSocket);} else {console.log(您的浏览器支持WebSocket);//实现化WebSocket对象指定要连接的服务器地址与端口 建立连接//等同于socket new WebSocket(ws://localhost:8083/checkcentersys/websocket/20);var wsPathStr wsPath uuid;console.log(uuid22: uuid);socket new WebSocket(wsPathStr);//打开事件socket.onopen function () {console.log(Socket 已打开);socket.send(这是来自客户端的消息 location.href new Date());};//获得消息事件socket.onmessage function (msg) {// debugger;console.log(msg.data);var data JSON.parse(msg.data);if (data.code 200) {alert(登录成功);//这里存放自己业务需要的数据。怎么放自己看window.sessionStorage.uuid uuid;window.sessionStorage.userId data.userId;window.sessionStorage.projId data.projId;window.location.href pages/upload.html;} else {//如果过期了关闭连接、重置连接、刷新二维码// socket.close();// initQrImg();debugger;let path2 getQrPath2 / uuid;axios.get(path2, {params: { dd: cc },}).then(function (success) {console.log(成功);},function (fail) {console.log(失败);}).catch(function (error) {console.log(异常);});}//发现消息进入 开始处理前端触发逻辑};//关闭事件socket.onclose function () {console.log(Socket已关闭);};//发生了错误事件socket.onerror function () {alert(Socket发生了错误);//此时可以尝试刷新页面};}后端Java代码 package com.example.poi.utils;import cn.hutool.json.JSONObject; import cn.hutool.log.Log; import cn.hutool.log.LogFactory; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import org.springframework.web.socket.server.standard.ServerEndpointExporter;import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.concurrent.CopyOnWriteArraySet;/*** Author xu* create 2023/7/21 19*/ ServerEndpoint(/websocket/{sid}) Component public class WebSocketServer {static Log log LogFactory.get(WebSocketServer.class);//静态变量用来记录当前在线连接数。应该把它设计成线程安全的。private static int onlineCount 0;//concurrent包的线程安全Set用来存放每个客户端对应的MyWebSocket对象。private static CopyOnWriteArraySetWebSocketServer webSocketSet new CopyOnWriteArraySetWebSocketServer();//与某个客户端的连接会话需要通过它来给客户端发送数据private Session session;//接收sidprivate String sid;/*** 连接建立成功调用的方法** param session* param sid*/OnOpenpublic void onOpen(Session session,PathParam(sid) String sid) {this.session session;webSocketSet.add(this); //加入set中addOnlineCount(); //在线数加1log.info(有新窗口开始监听:sid,当前在线人数为 getOnlineCount());this.sidsid;/*try {sendMessage(连接成功);} catch (IOException e) {log.error(websocket IO异常);}*/}/*** 连接关闭调用的方法*/OnClosepublic void onClose() {webSocketSet.remove(this); //从set中删除subOnlineCount(); //在线数减1log.info(有一连接关闭当前在线人数为 getOnlineCount());}/*** 收到客户端消息后调用的方法* 客户端发送过来的消息* param message* param session*/OnMessagepublic void onMessage(String message, Session session) {log.info(收到来自窗口sid的信息:message);//群发消息for (WebSocketServer item : webSocketSet) {try {JSONObject jsonObject new JSONObject();jsonObject.put(name,张三);jsonObject.put(code,2001);jsonObject.put(userId,16);jsonObject.put(projId,200);item.sendMessage(jsonObject.toString());} catch (IOException e) {e.printStackTrace();}}}/**** param session* param error*/OnErrorpublic void onError(Session session, Throwable error) {log.error(发生错误);error.printStackTrace();}/*** 实现服务器主动推送* param message* throws IOException*/public void sendMessage(String message) throws IOException {this.session.getBasicRemote().sendText(message);}/*** 发送消息* param message* param sid* throws IOException*/public static void sendInfo(String message,PathParam(sid) String sid) throws IOException {log.info(推送消息到窗口sid推送内容:message);for (WebSocketServer item : webSocketSet) {try {//这里可以设定只推送给这个sid的为null则全部推送if(sid null) {item.sendMessage(message);}else if(item.sid.equals(sid)){item.sendMessage(message);}} catch (IOException e) {continue;}}}public static synchronized int getOnlineCount() {return onlineCount;}public static synchronized void addOnlineCount() {WebSocketServer.onlineCount;}public static synchronized void subOnlineCount() {WebSocketServer.onlineCount--;}/**必须要有这个bean才能生效使用webSocketServer*/Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}}pom dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.7.10/version/dependencydependencygroupIdcom.google.zxing/groupIdartifactIdcore/artifactIdversion3.4.1/version/dependencydependencygroupIdcommons-lang/groupIdartifactIdcommons-lang/artifactIdversion2.6/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.12/version/dependency生成二维码 //获取登录二维码、放入Token//CrossOriginRequestMapping(value /getLoginQr ,method RequestMethod.GET)public void createCodeImg(HttpServletRequest request, HttpServletResponse response){response.setHeader(Pragma, No-cache);response.setHeader(Cache-Control, no-cache);response.setDateHeader(Expires, 0);response.setContentType(image/jpeg);try {//这里没啥操作 就是生成一个UUID插入 数据库的表里//String uuid userService.createQrImg();String uuid jdhasndi452iiwn11;response.addHeader(uuid, uuid);response.addHeader(Access-Control-Expose-Headers, uuid);response.addHeader(Access-Control-Allow-Origin, *);// 这里是开源工具类 hutool里的QrCodeUtil// 网址http://hutool.mydoc.io/QrCodeUtil.generate(uuid, 300, 300, jpg,response.getOutputStream());System.out.println(**);} catch (Exception e) {e.printStackTrace();}}扫码前端 div idqrImgDiv/divfunction initQrImg() {$(#qrImgDiv).empty();var xmlhttp;xmlhttp new XMLHttpRequest();xmlhttp.open(GET, getQrPath, true);xmlhttp.responseType blob;xmlhttp.onload function () {console.log(this);uuid this.getResponseHeader(uuid);console.log(uuid, uuid);if (this.status 200) {var blob this.response;var img document.createElement(img);img.className qrCodeBox-img;img.onload function (e) {window.URL.revokeObjectURL(img.src);};img.src window.URL.createObjectURL(blob);document.getElementById(qrImgDiv).appendChild(img);}};xmlhttp.send();}
http://wiki.neutronadmin.com/news/271912/

相关文章:

  • 福州网站设计公司移动开发是干什么的
  • 上饶建设网站局域网站点建设方案
  • 做网站整理信息的表格个人网页设计图片素材
  • 网站管理建站南昌seo全网营销
  • php mysql网站开发全程实例 下载网站常用的js效果
  • 电子商务网站预算模板怎么采集网站内容
  • 个人网站 前置审批深圳营销网站建站公司
  • 徐州机票网站开发html5播放器
  • 注册网站需要营业执照吗嘉兴商城网站开发设计
  • 网站建设的作用是什么单页营销式网站模板下载
  • 网站转入备案重庆做网站制作公司
  • 网站的安全度seo工作流程图
  • 武安建设局网站网站推广的方法及特点
  • flash工作室网站模板建站宝盒自助建站系统
  • 做pc端网站价位wordpress标签作用
  • 青岛网站建设技术外包色系网站.
  • 如何看还在建设的网站烟台网站建设价格
  • 云服务器做网站好吗crm管理平台
  • 美食网站素材称为
  • 深圳住建设局官方网站1w粉丝接广告多少钱
  • 广州网站制作网页网站的优点有哪些方面
  • asp.net怎么生成网站建设教育协会网站
  • 今天建设银行网站无法登录应用公园是收费还是免费的
  • 网站主体证件哈尔滨建筑专业网站
  • 微信上的微网站在哪里公司网络营销的方案思路
  • ppt网站模板做网站好还是做安卓app好
  • 后缀为net的网站有哪些做网站的公司一年能赚多少钱
  • 无锡做网站价格我的家乡网站设计模板
  • 学校网站建设价格明细表360浏览网页入口
  • 成都企业网站开发深圳分销网站设计电话