时间:2021-05-20
添加maven依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>springboot-websocket</artifactId> <name>springboot-websocket</name> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> </dependencies></project>添加websocket配置
@Configuration@EnableWebSocketpublic class MyWebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "/myHandler").setAllowedOrigins("*"); } @Bean public WebSocketHandler myHandler() { return new MyTextWebSocketHandler(); }}实现具体的handler
public class MyTextWebSocketHandler extends TextWebSocketHandler { private Set<WebSocketSession> sessions = new HashSet<>(); @Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { if (session.isOpen()) { sessions.add(session); } sendToAll(message); } private void sendToAll(TextMessage message) throws IOException { for (WebSocketSession session : sessions) { session.sendMessage(message); } } @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception { sessions.remove(session); }}即可通过ws://localhost:8080/myHandler访问websocket
添加测试页面:
<html><script type="text/javascript"> if ("WebSocket" in window) { var ws = new WebSocket("ws://localhost:8080/myHandler"); ws.onopen = function () { }; ws.onmessage = function (evt) { document.getElementById('messageDiv').innerHTML += evt.data + "</br>"; }; ws.onclose = function () { console.log("close connect"); }; } else { alert("您的浏览器不支持 WebSocket!"); } function send() { ws.send(document.getElementById("input").value + ": " + document.getElementById("message").value); }</script></head><body>当前用户: <input id="input"/><br/><a href="#" rel="external nofollow" onclick="send();">发送消息</a>: <input id="message"/><div id="messageDiv"></div></body></html>即可实现简单的通信功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1/概述利用SpringBoot作为基础框架,SpringSecurity作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天。2/所需依赖Sp
一、简介这是一款基于JS实现的超轻量级桌面版聊天软件。主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。也支持web网页聊天
vue+django实现一对一聊天和消息推送的功能。主要是通过websocket,由于Django不支持websocket,所以我使用了django-chann
本文属于nodejs+websocket实时聊天系统的改进版本,具体内容如下自己也是真的菜,一个websocket简单聊天系统硬被我搞了那么些天。看来以后还是得
本次内容主要介绍基于Ehcache3.0来快速实现SpringBoot应用程序的数据缓存功能。在SpringBoot应用程序中,我们可以通过SpringCach