websocket集成文档

ops/2024/10/18 8:38:15/

1.添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

2.添加配置

@Configuration
public class WebSocketConfig {@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}
}

3.添加websocket处理器

@Setter@Getter
@ServerEndpoint("/{token}")
@Component
public class WebSocketServer {private Session session;public static ConcurrentHashMap<String,Session> clients = new ConcurrentHashMap<>();/*** 浏览器和服务器在建立连接* @param session* @param token*/@OnOpenpublic void onOpen(Session session, @PathParam( "token") String token){System.out.println("客户端连接===>"+token);clients.put(token,session);}/*** 客户端发送消息* @param message* @param token*/@OnMessagepublic void onMessage(String message, @PathParam( "token") String token){System.out.println("客户端:"+token+",发送消息:"+message);//发送消息clients.get(token).getAsyncRemote().sendText(message);}/*** 浏览器和服务器之间断开连接之后会调用此方法.* @param token*/@OnClosepublic void onClose(@PathParam( "token") String token){System.out.println("客户端:"+token+",断开连接");//删除关系clients.remove(token);}/*** 通讯异常触发该事件* @param error*/@OnErrorpublic void onError(Throwable error) {error.printStackTrace();}
}

4.提供接口获取浏览器发送的消息

@RestController
public class MsgContoller {@RequestMapping("/sendMsg")public String sendMsg(String token,String msg) throws IOException {Session session = OrderWebSocketServer.clients.get(token);session.getBasicRemote().sendText(msg);return "发送成功";}
}

http://www.ppmy.cn/ops/20339.html

相关文章

Django——Auth模块以及admin站点

Django——Auth模块 一、Auth 模块 Auth 用户认证&#xff0c;本质上也是设置 Session。 Django 认证系统同时处理认证和授权认证&#xff1a;验证一个用户是否为 django 声明的用户&#xff0c;如果是可以进行登录授权&#xff1a;决定一个已经验证的用户有哪些功能是允许操…

探索开源的容器引擎--------------Docker容器操作

目录 一、Docker 容器操作 1.1容器创建 1.2查看容器的运行状态 1.3启动容器 1.4创建并启动容器 1.4.1当利用 docker run 来创建容器时&#xff0c; Docker 在后台的标准运行过程是&#xff1a; 1.4.2在后台持续运行 docker run 创建的容器 1.4.3创建容器并持续运行容器…

391.C# ML.net 情绪分析

391.C# ML.net 情绪分析 常见应用场景 社交媒体监控&#xff1a;企业和品牌可以使用二元情绪分类器来监控社交媒体上的公众情绪&#xff0c;了解客户对产品或服务的看法&#xff0c;以及市场对新发布或事件的反应。客户服务&#xff1a;自动化客户服务工具&#xff08;如聊天机…

LLaMA 3:大模型之战的新序幕

作者 | 符尧 OneFlow编译 翻译&#xff5c;杨婷、宛子琳、张雪聃 本文要点概览&#xff1a; 文本数据的扩展可能已经达到了极限&#xff0c;因为易于获取的网络文本资源&#xff08;如Common Crawl、GitHub、ArXiv等&#xff09;已基本被充分利用。 尽管如此&#xff0c;通过更…

本地认证的密码去哪了?怎么保证安全的?

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff1f;密文存在哪个文件下?该文件是否可以打开&#xff0c;并且查看到密文&#xff1f; 系统将输入的明文密码通过hash算法转为哈希值&#xff0c;且输入的值会在内存中立即删除无法查看。 然后将密文存放在C:…

Webfunny前端监控如何接入飞书单点登录(SSO)

Hello&#xff0c;大家好&#xff0c;欢迎使用**webfunny前端监控和埋点平台**。今天我们将介绍一下如何接入飞书的登录系统。 友情提示&#xff1a;如果飞书侧已经配置好了&#xff0c;可以直接跳到第六步阅读。 一、创建飞书网页项目 进入飞书开发者后台&#xff0c;创建企…

(七)Servlet教程——Idea编辑器集成Tomcat

1. 点击桌面上Idea快捷方式打开Idea编辑器&#xff0c;假如没有创建项目的话打开Idea编辑器后的界面展示如下图所示 2. 点击界面左侧菜单中的自定义 3. 然后点击界面中的“所有设置...”,然后点击“构建、执行、部署”&#xff0c;选择其中的“应用程序服务器” 4. 点击“”按钮…

数据结构––串

5.1 串的定义 由零个或者任意多个字符组成的有限序列&#xff0c;是一种特殊的顺序表&#xff0c;每一个元素都是单独一个字符 空格也可以是一个字符 串的长度&#xff1a;串中的有效元素的个数&#xff08;不包括\0&#xff09; 空串&#xff1a;不包括任何元素的串&#…