【步骤四】: 导入websocket依赖坐标在pom.xml文件中添加websocket依赖
org.springframework.boot spring-boot-starter-websocket
websocket入门教程 。小编来告诉你更多相关信息 。
websocket入门教程
【步骤五】: 定义WebSocket服务端组件在com.zbbmeta.websocket
包下创建WebSocketServer
服务组件类
package com.zbbmeta.websocket;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.PathParam;import javax.websocket.server.ServerEndpoint;import java.util.Collection;import java.util.HashMap;import java.util.Map;/** * @author springboot葵花宝典 * @description: TODO */@Component@ServerEndpoint(\"/ws/{sid}\")public class WebSocketServer {//存放会话对象private static Map sessionMap = new HashMap();/*** 连接建立成功调用的方法*/@OnOpenpublic void onOpen(Session session, @PathParam(\"sid\") String sid) {System.out.println(\"客户端:\" + sid + \"建立连接\");sessionMap.put(sid, session);}/*** 收到客户端消息后调用的方法** @param message 客户端发送过来的消息*/@OnMessagepublic void onMessage(String message, @PathParam(\"sid\") String sid) {System.out.println(\"收到来自客户端:\" + sid + \"的信息:\" + message);}/*** 连接关闭调用的方法** @param sid*/@OnClosepublic void onClose(@PathParam(\"sid\") String sid) {System.out.println(\"连接断开:\" + sid);sessionMap.remove(sid);}/*** 群发** @param message*/public void sendToAllClient(String message) {Collection sessions = sessionMap.values();for (Session session : sessions) {try {//服务器向客户端发送消息session.getBasicRemote().sendText(message);} catch (Exception e) {e.printStackTrace();}}}}
【步骤六】: 定义配置类 , 注册WebSocket的服务端组件在com.zbbmeta.config
包下,创建WebSocketConfiguration
配置类
package com.zbbmeta.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard.ServerEndpointExporter;/** * @author* @description: TODO */@Configurationpublic class WebSocketConfiguration {@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}}
【步骤七】: 定义定时任务类,定时向所有客户端推送数据在com.zbbmeta.task
包下 , 创建WebSocketTask
类,使用Spring-Task进行定时发送
package com.zbbmeta.task;import com.zbbmeta.websocket.WebSocketServer;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * @author springboot葵花宝典 * @description: TODO */@Componentpublic class WebSocketTask {@Autowiredprivate WebSocketServer webSocketServer;/*** 通过WebSocket每隔5秒向客户端发送消息*/@Scheduled(cron = \"0/5 * * * * ?\")public void sendMessageToClient() {webSocketServer.sendToAllClient(\"这是来自服务端的消息:\" + DateTimeFormatter.ofPattern(\"HH:mm:ss\").format(LocalDateTime.now()));}}
websocket入门教程 。小编来告诉你更多相关信息 。
websocket入门教程
2.3. 功能测试启动服务,浏览器,打开websocket.html页面浏览器结果
文章插图
上面为您介绍的websocket入门教程的电脑IT小方法 , 供您全面了解参考!
- 电脑平面制图入门教程 word怎么画流程图
- 适合零基础自学的画画教程 画画入门教程零基础学习
- c4d怎么切换到另一个文件 c4d零基础入门教程
- 如何用电脑制作表格 excel表格制作入门教程
- 电脑在线绘图入门教程 word画平面图流程
- 电脑表格入门教程 excel多列排序怎么设置
- 电脑绘画怎么操作步骤 电脑绘画入门教程
- ai人工智能怎么学 ai新手入门教程
- Git基础入门教程:从零开始掌握版本控制
- 关于小米笔记本新手入门教程 小米平板5怎么变为电脑模式