目录
Spring boot 实现Websocket通讯

当然可以!下面是一个简单的 Spring Boot WebSocket 示例,展示了如何搭建 WebSocket 服务端和客户端,实现基本的消息通信。


✅ 项目结构

plaintext
复制代码
src
├── main
│   ├── java
│   │   └── com.example.websocketdemo
│   │       ├── WebSocketConfig.java
│   │       ├── WebSocketController.java
│   │       └── MyWebSocketHandler.java
│   └── resources
│       └── static
│           └── index.html

🧱 WebSocketConfig.java

java
复制代码
package com.example.websocketdemo;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.*;

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(new MyWebSocketHandler(), "/ws")
                .setAllowedOrigins("*"); // 开发环境允许所有域访问
    }
}

🔧 MyWebSocketHandler.java

java
复制代码
package com.example.websocketdemo;

import org.springframework.web.socket.*;
import org.springframework.web.socket.handler.TextWebSocketHandler;

public class MyWebSocketHandler extends TextWebSocketHandler {

    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        System.out.println("连接建立: " + session.getId());
    }

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        System.out.println("收到消息: " + message.getPayload());
        // 回显消息
        session.sendMessage(new TextMessage("服务端收到: " + message.getPayload()));
    }

    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        System.out.println("连接关闭: " + session.getId());
    }
}

🌐 index.html (WebSocket 客户端)

html
"> 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>WebSocket 示例</title>
</head>
<body>
    <h1>WebSocket Demo</h1>
    <input type="text" id="messageInput" placeholder="输入消息">
    <button onclick="sendMessage()">发送</button>
    <div id="messages"></div>

    <script>
        const socket = new WebSocket("ws://localhost:8080/ws");

        socket.onopen = () => {
            console.log("连接成功");
        };

        socket.onmessage = (event) => {
            const messagesDiv = document.getElementById("messages");
            messagesDiv.innerHTML += "<p>" + event.data + "</p>";
        };

        function sendMessage() {
            const input = document.getElementById("messageInput");
            socket.send(input.value);
            input.value = "";
        }
    </script>
</body>
</html>

🚀 启动方式

  1. 创建一个 Spring Boot 项目(可以用 Spring Initializr)
  2. 添加依赖(spring-boot-starter-websocket
  3. 将上述代码复制到项目中
  4. 启动 Spring Boot 应用后,访问 http://localhost:8080/index.html
  5. 在输入框中输入内容点击发送,即可与服务端通信

需要我帮你打包成完整项目或用 STOMP 协议做高级功能也可以~要的话告诉我 😄

"我视别人的钱财如粪土,但你的就不一样啦!"
本文由 程序员拉大锯 原创发布于 阳光沙滩 , 未经作者授权,禁止转载
评论
0 / 1024
相关文章
什么是MCP? Monte Carlo Planning(蒙特卡洛规划)
MCP(Monte Carlo Planning,蒙特卡洛规划)是强化学习和决策系统中的重要方法,广泛应用于复杂环境下的行动策略规划。无论是博弈中的AI,还是机器人路径规划,MCP都能通过随机模拟预测未来策略的效果。其中,蒙特卡洛树搜索(MCTS)是其典型实现,具有强大的全局最优性和适应高维复杂策略的能力。文章详细解析了MCP的基本概念、与强化学习的关系、典型算法以及实际应用场景,展示了其在AlphaGo、自动驾驶、游戏AI等领域的卓越表现。
智能体相关的概念介绍一下,并且给出学习路线!
智能体是人工智能领域的重要概念,广泛应用于强化学习、多智能体系统和机器人学等方向。本文从智能体的基本概念出发,介绍了其核心组成和分类,并提供了涵盖基础知识、模型理解、实践项目及前沿研究的系统学习路线。无论是初学者还是希望深入探索的研究者,都能从中找到有价值的信息和资源。
基于 Spring Boot 实现 MQTT 通信
本文详细介绍了如何利用Spring Boot实现MQTT通信,包括环境准备、依赖配置、消息发布与订阅的完整流程。通过此指南,开发者能快速搭建高效稳定的MQTT服务,适用于物联网场景。无论是初学者还是资深开发者,都能从中受益。快来动手实践吧!
Spring boot 实现Websocket通讯
本文档提供了一个基于Spring Boot的WebSocket简单示例,涵盖服务端与客户端的搭建及基本消息通信功能。通过本教程,开发者可快速掌握WebSocket在Spring Boot中的应用,适用于实时数据传输、在线聊天等场景。立即跟随步骤,轻松构建属于你的WebSocket应用!
弱智吧经典语录,快看看看吧!
这些有趣的表达方式源自网络文化的独特风格,通过夸张、讽刺和离谱的情境,带来轻松幽默的体验。无论是‘装傻式开头’还是‘典中典’的调侃,都展现了年轻人在虚拟世界中创造的另类交流方式。快来一起感受这种独特的网络语言魅力吧!
Java各个版本的发布时间,主要特性有哪些呢?
探索Java自1996年问世以来的发展历程,从早期版本的基础功能到现代化特性如Lambda表达式和虚拟线程,深入了解每个主要版本的核心更新。本文详细整理了各个版本的发布时间与关键特性,帮助开发者选择最适合自己项目的Java版本。无论你是初学者还是资深开发者,都能从中获取宝贵的参考信息,助你更高效地运用这一强大的编程工具。
发个文章,看看能不能在动态里发出来呢?
分享了自己在编程学习中的有趣小故事,从儿时课堂上忘记保存代码的经历中寻找成长的乐趣,鼓励大家保持对编程的热情,同时也能引发读者对过去校园时光的共鸣。
苏格拉底介绍一下吧
本文详细介绍了古希腊哲学奠基人苏格拉底的核心思想及其对西方哲学的巨大影响。从‘无知之知’到‘德性即知识’,再到批判精神,苏格拉底通过独特的问答法启发人们对真理的追求。他的思想通过柏拉图的记录得以传承,并深刻塑造了西方哲学传统。此外,本文还回顾了苏格拉底的重要人生经历,包括其著名的审判与死亡,以及他对后世哲学家和伦理学发展的深远影响。无论你是哲学爱好者还是追求智慧的人,这篇文章都将为你提供深刻的启示。
文章写得多,牛就吹得越好!
我多写一篇文章吧,把文章写成列表好了!
这是文章的标题,这篇文章有代码!