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

网站左侧漂浮导航网站建设上线问题

网站左侧漂浮导航,网站建设上线问题,廊坊网站seo,成品网站 代理一、概述 本文基于spring-boot-starter-websocket简单的完成收发信息功能#xff0c;使用注解形式进行实现。 二、相关配置 spring:2.0.2#xff0c;jdk:1.8.202#xff0c;maven:3.3.9 因为spring和maven有版本匹配的要求#xff0c;请大家注意自己的版本是否匹配 三…一、概述 本文基于spring-boot-starter-websocket简单的完成收发信息功能使用注解形式进行实现。 二、相关配置 spring:2.0.2jdk:1.8.202maven:3.3.9 因为spring和maven有版本匹配的要求请大家注意自己的版本是否匹配 三、项目结构 四、代码 1.启动类 SocketDemoApplication package com.lp.socketdemo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling;EnableScheduling SpringBootApplication public class SocketDemoApplication {public static void main(String[] args) {SpringApplication.run(SocketDemoApplication.class, args);}}2. 监听类 WsServerEndpoint package com.lp.socketdemo.java;import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap;/*** 监听websocket地址myWs*/ ServerEndpoint(/myWs) Component public class WsServerEndpoint {static MapString,Session map new ConcurrentHashMap();OnOpenpublic void onOpen(Session session) {map.put(session.getId(),session);System.out.println(webSockte is open: session.getId());sendAll(session,上线);}OnMessagepublic String onMessage(String message) {System.out.println(收到一条信息message);return 已收到你的消息message;}OnClosepublic void onClose(Session session) {System.out.println(webSockte is closesession.getId());sendAllEceptMe(session,下线);map.remove(session.getId());}Scheduled(fixedRate 60000)public void sendMsg() {for (String key: map.keySet()) {try {map.get(key).getBasicRemote().sendText(心跳);} catch (IOException e) {e.printStackTrace();}}}public void sendAll(Session session,String msg) {for (String key: map.keySet()) {try {map.get(key).getBasicRemote().sendText(session.getId():msg);} catch (IOException e) {e.printStackTrace();}}}public void sendAllEceptMe(Session session,String msg) {for (String key: map.keySet()) {try {if(!session.getId().equals(key)) {map.get(key).getBasicRemote().sendText(session.getId():msg);}} catch (IOException e) {e.printStackTrace();}}} }3.配置类 WebSocketConfig package com.lp.socketdemo.java;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter;/*** 配置类注入bean*/ Configuration public class WebSocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} }4.前段 websocketTest.html !DOCTYPE html html headmeta http-equivContent-Type contenttext/html; charsetUTF-8titlewebsocket调试页面/title /head script typetext/javascript srcjquery.min.js/script body div stylefloat: left; padding: 20pxstronglocation:/strong br /input typetext idserverUrl size35 value / br /button onclickconnect()connect/buttonbutton onclickwsclose()disConnect/buttonbr / strongmessage:/strong br / input idtxtMsg typetext size50 /br /button onclicksendEvent()发送/button /divdiv stylefloat: left; margin-left: 20px; padding-left: 20px; width: 350px; border-left: solid 1px #cccccc; strong消息记录/strongdiv styleborder: solid 1px #999999;border-top-color: #CCCCCC;border-left-color: #CCCCCC; padding: 5px;width: 100%;height: 172px;overflow-y: scroll; idecho-log/divbutton onclickclearLog() styleposition: relative; top: 3px;清除消息/button /div/div /body !-- 下面是h5原生websocket js写法 -- script typetext/javascriptlet output ;let websocket;function connect(){ //初始化连接output document.getElementById(echo-log)let inputNode document.getElementById(serverUrl);let wsUri inputNode.value;try{websocket new WebSocket(wsUri);}catch(ex){console.log(ex)alert(对不起websocket连接异常)}connecting();window.addEventListener(load, connecting, false);}function connecting(){websocket.onopen function(evt) { onOpen(evt) };websocket.onclose function(evt) { onClose(evt) };websocket.onmessage function(evt) { onMessage(evt) };websocket.onerror function(evt) { onError(evt) };}function sendEvent(){let msg document.getElementById(txtMsg).valuedoSend(msg);}//连接上事件function onOpen(evt){writeToScreen(CONNECTED);doSend(WebSocket 已经连接成功);}//关闭事件function onClose(evt){writeToScreen(连接已经断开);}//后端推送事件function onMessage(evt){writeToScreen(span stylecolor: blue;服务器: evt.data/span);}function onError(evt){writeToScreen(span stylecolor: red;异常信息:/span evt.data);}function doSend(message){writeToScreen(客户端A: message);websocket.send(message);}//清除div的内容function clearLog(){output.innerHTML ;}//浏览器主动断开连接function wsclose(){websocket.close();}function writeToScreen(message){let pre document.createElement(p);pre.innerHTML message;output.appendChild(pre);} /script /html五、效果展示 六、引用 课程介绍_WebSocket入门与案例实战-慕课网 最全面的SpringMVC教程六——WebSocket_springmvc websocket_小新要变强的博客-CSDN博客
http://www.pierceye.com/news/889579/

相关文章:

  • 网站开发实战视频教程西安网站建设定
  • 有没有99块钱做网站邢台做网站的公司哪家好?
  • 物流网站设计与实现制作公司内部募捐网站
  • 新西兰注册公司做网站局域网网站
  • 做外贸要开通哪个网站网站建设模板
  • 广州专业做网站的科技公司维度网络做网站
  • l建设银行网站怎么注册网站
  • 网站设计多少钱wordpress调用菜单代码
  • 成都p2p网站建设手机网站和app有什么区别
  • 人像摄影作品网站怎么做多个网站单点登录
  • 企业网站设计推广方案外贸seo优化方法
  • 广州网站推广找哪家西安网站制作定制
  • 各大招聘网站上海网页制作方法
  • 舟山建设信息港门户网站网站用途及栏目说明
  • 在线留电话的广告专业搜索引擎seo服务商
  • 网站建设方案说明松山湖网站建设公司
  • 西安网站推广方案网站主机是服务器吗
  • seo站内优化培训北京社保网上服务平台官网
  • 滨海做网站价格呼和浩特市网站公司电话
  • vs2012网站开发环境logo免费下载网站
  • 手机网站懒人模板章丘网站优化
  • 常州做网站的企业中国十大动漫学校
  • 广东手机网站制作电话wordpress 被写入文件
  • 意大利之家设计网站什么是软件开发技术
  • 下载flash网站国外域名备案
  • 网站建设服务费应计入什么科目装饰公司简介内容
  • 淘宝客网站域名备案吗漂亮的ppt模板大全免费
  • 西安外贸网站开发网站后端做留言板功能
  • 自建淘宝客APP网站模板制作网站的公司
  • 最佳线上网站制作模板网站开发 企业 定制系统