河源市连平县建设局网站wordpress 文章最长

news/2025/9/28 11:08:03/文章来源:
河源市连平县建设局网站,wordpress 文章最长,杭州做官网的有哪些公司,网络科技有限公司有哪些一、概述 本文基于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.mzph.cn/news/920549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

晋城购物网站开发设计手机购物网站开发

一、云计算 云计算起源仿照天空的云朵聚集,意为对大量服务器的远程管理。以便能对服务器做空间、资源的最大动态协调利用和降低操作执行命令的复杂度。 二、云计算衍生下的服务 在服务器以一种云的形式存在,衍生除了很多服务提供,以便用户可以…

网站开发技术流程商标查询官网入口

Linux 系统管理员要求对系统进行管理,备份等操作,linux程序员需要掌握c,c,java,php,jsp等 Linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql… 书籍介绍:鸟哥LINUX私房菜,LINUX编程从入门到精通,li…

Discord桌面应用远程代码执行漏洞分析

本文详细分析了Discord桌面应用中存在的远程代码执行漏洞,包括缺失上下文隔离、iframe嵌入XSS和导航限制绕过三个漏洞的组合利用。作者通过覆盖JavaScript内置方法干扰Node.js模块执行,最终实现任意代码执行。漏洞已…

DRL模型训练:原始奖励函数记录以及绘制

一些参考图片:1. 使用sb3库, 调用callback,会记录每个episode结束时的reward; 使用tensorboard记录的rollout/ep_rew_mean,会自动每4个ep平均,并进行平滑,得到的不是原始数据。 from stable_baselines3.common.ca…

python的批量赋值语法

python的批量赋值语法 漫思

丽江市网站建设制作学校校园网网站建设预算

文章目录 1. 基于神经网络计算心理健康程度2. 添加激活函数的神经网络计算3. 使用神经网络预测小胖是否会变胖4. 激活函数选择的讨论5. 神经网络的设计6. 深度线性模型的表达能力线性模型7. 神经网络退化 主要讨论的内容 什么是人工神经网络,相关计算反向传播算法的…

泊头市网站建设价格百度网站排名 查询

JAVA代码编写 203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5]示…

中国DevOps平台竞品分析:安全合规与技术生态的双重较量

中国DevOps平台竞品分析:安全合规与技术生态的双重较量 在数字化转型进入深水区的当下,DevOps平台作为企业研发效能的核心支撑,其选择直接关系到组织的创新效率和合规安全。2025年的中国市场上,Gitee、阿里云效和G…

experiment 1

实验目的会使用C语言程序开发环境(vs2010/devc++等),能熟练使用其编写、编译、运行、调试C程序 知道C程序结构和编码规范,能正确使用 能熟练使用C语言输入输出函数: scanf() , printf() , getchar() , putchar() …

做网站无锡单网页网站内容

在本机启动 http 服务,在你要下载文件的目录下输入 cmd ,运行 python -m http.server前提条件:本机安装了 python 服务。 查看本机 IP(无线局域网 IP),重新开一个窗口,查看本机 IP 地址。 ipc…

图领域的METIS算法介绍 - zhang

1. 算法来源 来源论文 论文题目: Partial Parallelization of Graph Partitioning Algorithm METIS 2. METIS算法 主要用于将大规模稀疏图高效划分为多个均衡子图,用于并行计算任务分配,VLS布局优化,有限元网络剖分…

【Double】浮点数:精确的小数计算

【Double】浮点数:精确的小数计算在编程中,浮点数(Double) 用于表示带小数点的数值。当我们需要进行精确的小数计算时,浮点数比整数更加适用。浮点数可以表示非常大或非常小的数值,并保持一定的精度。 一、 认识…

贵州高端建设网站特效视频素材网站

NPM NPM 的全称是 Node Package Manager,是随同 NodeJS 一起安装的包管理和分发工具,它很方便让 JavaScript 开发者下载、安装、上传以及管理已经安装的包。 官网 npm 官网:https://www.npmjs.com npm 命令 命令说明npm init初始化一个新的…

CANOpen safety SRDO相关问题总结

CANOpen PDO过程大家经常会使用,交互过程也比较熟悉,但是safety协议以及SRDO流程基本上都不是很熟悉,参考标准D301和D304 今天把最近研究SRDO的内容和现场调试的心得做一个总结

Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:head_wal.go 的 WAL 写入策略与缓存管理源码解读

Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:head_wal.go 的 WAL 写入策略与缓存管理源码解读

【Boolean】布尔值:逻辑判断的基础

【Boolean】布尔值:逻辑判断的基础在编程中,布尔值(Boolean) 是最简单的数据类型,只有两个可能的值:真($true) 或 假($false)。虽然简单,但布尔值在逻辑判断和程序流程控制中扮演着至关重要的角色。 一、 认…

电子通信词汇中英文对照

电子中英文对照中文 英文 举例说明符号还原 demangling 如c++filt

计算机考试模拟网站怎么做陕西有哪些公司是网站建设

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

从“手机拆修”看懂POD与非POD的区别 - 教程

从“手机拆修”看懂POD与非POD的区别 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…