webSocket

SpringBoot整合WebSocket服务 springboot整合websocket springboot使用websocket springboot使用websocket 仅使用 SpringBoot封装好的服务,并不是使用第三方Netty或者: 底层使用实现: 底层使用Netty实现(没有使用过,不知道具体)官方文档1官方文档2。 阅读详情

WebSocket

1,导包

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

2,配置

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

3,代码

@ServerEndpoint("/webSocket/{username}")
@Component
public class Chat {

    private static int onlineCount = 0;
    private static Map<String, Chat> clients = new ConcurrentHashMap<String, Chat>();
    private Session session;
    private String username;


    @OnOpen
    public void onOpen(@PathParam("username") String username, Session session) {
        System.out.println(username);
        this.username = username;
        this.session = session;
        Chat.onlineCount++;
        clients.put(username, this);
    }

    @OnClose
    public void onClose() {
        clients.remove(username);
        Chat.onlineCount--;
    }

    @OnMessage
    public void onMessage(String message) throws IOException {
        Message message1 = JSON.parseObject(message, Message.class);
        clients.get(message1.getToName()).session.getBasicRemote().sendText(message1.getMessage());
    }

    @OnError
    public void onError(Session session, Throwable throwable) {
        System.out.println("WebSocket发生错误:" + throwable.getMessage());
    }

    public static void sendMessage(String message) {
        // 向所有连接websocket的客户端发送消息
        // 可以修改为对某个客户端发消息
        for (Chat item : clients.values()) {
            item.session.getAsyncRemote().sendText(message);
        }
    }

}

4,前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="jquery.min.js"></script>
</head>
<body>
    <h1 id="message"></h1>
    <input type="text" id="input">
    <button id="button">按钮</button>
    <div id="meaage">

    <script>
        $(function(){
            var Message={
            toName:'',
            message:'',
            fromName:''
        }
            let websocket = new WebSocket('ws://127.0.0.1:8080/webSocket/' + 'zhouzhanpei');
            
            //链接服务器
            websocket.onopen=function(){
                console.log('start');
            }

            $('#button').click(function(){
                var ma=$('#input').val();
                $('#message').html(ma);
                Message.toName='username';
                Message.message=ma;
                Message.fromName='zhouzhanpei';
                var json=JSON.stringify(Message);
                //发送消息
                websocket.send(json);
            });

            //接收消息
            websocket.onmessage=function(data){
                console.log(data.data);
                $('#meaage').html(data.data);
            }
        });


    </script>
</body>
</html>
ESP32入门基础之ESP WebSocket Client ESP WebSocket Client 阅读详情

相关推荐

websocket

​ 我们在上网时经常会遇到一些情况,就是页面没有刷新,但是一些数据会发生了改变,比如:在邮箱页面当收到新邮件时,我们并没有刷新页面,但是却会主动提示有新邮件达到,并会将未读邮件的数量+1。或者是在一些购物网站,当有新消息时并没有刷新页面,却提示了我们有新消息未读。​ 那像这样的业务场景是怎么实现的呢?为什么页面没有刷新,浏览器却提醒我们有新消息呢?​ 解决方案:1、采用轮询的方式。即:通过js不断的请求服务器,查看是否有新数据,如果有,就获取到新数据。这种解决方法是否存在问题呢?

Casual_Lei的博客 1477

WebSocket整理

WebSocketWebSocket整理增加maven导入包增加开启配置文件WebSocketConfig具体实现 WebSocket整理 增加maven导入包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...

皇室紫宸的博客 363

Django 实现Websocket

django实现websocket大致上有两种方式,一种channels,一种是dwebsocket。channels依赖于redis,twisted等,相比之下使用dwebsocket要更为方便一些。 安装:  pip install dwebsocket 配置: # setting.py INSTALLED_APPS = [ ..... ..... 'dw...

FanMLei的博客 8295

WebSocket的引入

目录 WebSocket的基本使用 使用WebSocket改造项目

我的博客 2173

websocket需要用到jar包

websocket需要用到jar包websocket需要用到jar包websocket需要用到jar包

websocket需要的jar包

亲测能用的websocket jar包,不会用的可以去我的博客找教程

python 模拟简易版websocket的客户端

第一步: 下载websocket-client模块 pip install websocket-client 第二步: 1、导包 from websocket import create_connection 2、指南 生成websocket对象: ws = create.connection("ws://127.0.0.1:8888/webscoket") 向服务端发送数...

qq_42353939的博客 1591

使用Netty搭建WebSocket服务器,可修改单包大小限制

使用Netty搭建WebSocket服务器,该资源示范如何修改单包大小限制,解决不能发送大数据包的问题。

编写websocket时需要导入包

1.在Eclipse中编写servlet时出现"The import javax.servlet cannot be resolved" 问题解决办法 在Eclipse中,右击项目,选择Java Build Path->Libraries->Add External JARs,找到你计算机中tomcat的安装路径,在common\lib文件夹下选中"servlet-api.jar",添加点击

ALEX__0805的专栏 1万+

websocket依赖包

用于jmeter中的websocket协议的测试工具包

websocket所需jar包

intellij开发工具下 搭建websocket工程 所需jar包。在intellij工程中直接引入此目录依赖即可。

什么是webSocket?怎么使用webSocket中的第三方socket.io包

什么是webSocket?怎么使用webSocket中的第三方socket.io包 http 协议 http中文意思: 超文本传输协议, 定义服务器和客户端的传送格式 请求发送的数据包, 叫请求报文, 格式如下 响应回来的数据包, 叫响应报文, 格式如下 HTTP 协议:客户端与服务器建立通信连接之后,服务器端只能被动地响应客户端的请求,无法主动给客户端发送消息。 一次请求才能对应一次响应 由于 http 是一次请求对应一次响应,无法达到即时通信的效果,所以在后面的 html5 .

web00_11的博客 1586

内网CentOS离线部署LibreOffice:从依赖缺失到服务启动的完整避坑指南

本文详细介绍了在CentOS内网环境中离线部署LibreOffice的完整流程,包括依赖包准备、安装顺序优化及常见报错解决方案。针对金融等封闭网络场景,提供从rpm包选择到服务启动的全套避坑指南,特别解决libXinerama等图形库缺失问题,确保文档转换服务稳定运行。

weixin_33416697的博客 246

React中使用websocket连接

React WebSocket

小蜜蜂的博客 4万+

SpringBoot与Flowable整合:构建高效审批工作流的实战指南

本文是一份SpringBoot与Flowable整合构建高效审批工作流的实战指南。通过一个经典的二级审批场景,详细介绍了从项目搭建、BPMN流程设计、核心服务编写到RESTful API构建的完整步骤。文章深入探讨了如何利用Flowable工作流引擎实现审批流程的自动化驱动与灵活管理,并分享了变量管理、监听器、异步执行等进阶技巧与常见避坑指南,帮助开发者快速构建健壮、可维护的企业级审批系统。

qsc9012345的博客 519

HDMI协议介绍(一)--Overview

HDMI全称(High Definition Multimedia Interface)高清多媒体接口,支持在单线缆上传输全数字高清视频和多声道音频。

SlamDunk的博客 2万+

WebSocket原理及技术简介

WebSocket原理及技术简介 目录 1    引言    1 2    WebSocket技术及协议    2 2.1    WebSocket API    2 2.1.1    示例    3 2.2    WebSocket协议    4 2.2.1    握手阶段    4 2.2.2    数据通信    5 2.2.3    连接关闭

当年老王的专栏 4万+

有限元缺陷:剪切锁死

有限元缺陷:剪切锁死

wsxww11的博客 5185

springboot集成websocket

​ 这里我们使用springboot搭建一个轻量级的websocket服务,同时提供4个入参。使用websocket服务可以轻松和微信小程序、支付宝小程序、网页就行双向通讯,非常实用方便。wss地址这里是我们自己搭建的中转服务websocket地址。参数说明。

大爱仙尊 3万+

使用R语言实战:构建Logistic回归模型

Logistic回归是一种基于概率的分类算法,它用于预测离散的结果变量(也称为响应变量或因变量)。与线性回归不同,Logistic回归的输出是一个概率值,通常在0和1之间。这使得它非常适合处理二分类问题。市场营销:预测客户是否会购买某个产品。医学研究:预测疾病的发生与否。信用风险评估:预测个人申请贷款的违约风险。社会科学:预测个人对某个政策的态度。

2301_79331230的博客 1139

手把手教你学Simulink——无刷直流电机(BLDC)霍尔传感器(Hall Sensor)信号处理电路仿真

在中,转子位置靠​ 给出,换相逻辑(Commutation Table)据此决定。实际霍尔输出是,且常有:比较迟滞(内置或外加分压)RC 低通(防 EMI 尖刺)与 MCU 间想让你霍尔三相 UVW 理想方波(120° each, 换相每 60°elec)经观察:原始 HU/HV/HW、滤波后波形、整形后 TTL 电平验证换相表(001→100→010…)与转子转向匹配是破局关键。

amy_mhd的博客 38

websocket入门及应用

**WebSocket** 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 是双向通讯,有状态,客户端一(多)个与服务端一(多)双向实时响应(客户端 ⇄ 服务端)。WebSocket 是应用在浏览器的 Socket (是 Socket 模型接口的实现),Socket 是一个网络通信接口 (通信规范)。

qq_36115196的博客 1382

VS2022编译xlnt库

xlnt是一个用于读写Excel文件的C++库,本文介绍如何用源代码编译静态或动态xlnt库

QQVQQ的博客 7287

Django通过dwebsocket实现websocket

与django推荐的channel不同,dwebsocket使用更加方便简单 使用方法1: 只需views.py文件中,将对应的视图函数添加装饰器 accept_websocket-—可以接受websocket请求和普通http请求 require_websocket----只接受websocket请求,拒绝普通http请求 from dwebsocket.decorators import ...

毛毛腿的博客 1万+

1、工作流介绍

工作流起源于办公自动化,是对软件中业务流程的抽象。通过工作流将各个任务有序组织起来形成一个完整的业务闭环。比如:请假审批流程,网上购物流程,银行贷款流程;!

leyoliu的博客 5104

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: ServerSocket
下一篇: ARM汇编与GCC汇编
ProgramBoy001
博客等级 码龄6年 3粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值