《通义千问AI落地—下》:WebSocket详解

news2024/11/15 19:43:41

一、前言

文本源自 微博客 且已获授权,请尊重版权。

     《通义千问AI落地——下篇》如约而至。Websocket在这一类引用中,起到前后端通信的作用。因此,本文将介绍websocket在这类应用场景下的配置、使用、注意事项以及ws连接升级为wss连接等;如下图,本站已经使用了wss连接:

image.png

二、后端接口

     后端接口主要涉及Websocket的配置、握手认证、消息收发等,我们来逐一讲解:

2.1、WebSocket配置


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

@EnableWebSocketMessageBroker
@Configuration
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
   
    private TaskScheduler messageBrokerTaskScheduler;

    @Autowired
    public void setMessageBrokerTaskScheduler(@Lazy TaskScheduler taskScheduler) {
   
        this.messageBrokerTaskScheduler = taskScheduler;
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
   
        // 指定允许握手的域名
        //String[] allowedOrigins = {"www.microblog.store", "xxx"};

        registry.addEndpoint("/ws/handshake")
                .setAllowedOrigins("*")  //如果指定握手域名,可以填入allowedOrigins 
                .setHandshakeHandler(new UserHandshakeHandler());
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
   
        registry.setApplicationDestinationPrefixes("/ws")
                .setUserDestinationPrefix("/user")
                // 客户端订阅消息的请求前缀,topic一般用于广播推送,queue用于点对点推送
                .enableSimpleBroker("/broad",</

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ssrf,csrf漏洞复现

印象深刻的csrf利用&#xff1a; 在phpwind下&#xff1a;漏洞点&#xff08;但是都是在后台的漏洞&#xff09; 代码追&#xff1a; task到unserialize&#xff0c;然后重写PwDelayRun的构造函数&#xff0c;给callback和args赋值&#xff0c;然后当程序执行结束&#xff0c…

请问lammps怎么做两种金属连接的原子浓度分布图??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

未知单播泛洪原因

未知单播&#xff1a;交换机是收到数据包后&#xff0c;读取数据包的目的MAC&#xff0c;并查找自已的MAC表&#xff0c;查找目的MAC对应的端口&#xff0c;从而判断从哪个口端口转发出此数据包&#xff0c;若MAC表里没有此目的MAC&#xff0c;那对于此交换机来说就是未知单播&…

Day46 | 101孤岛的总面积 102沉没孤岛 103水流问题 104建造最大岛屿

语言 Java 101.孤岛的总面积 101. 孤岛的总面积 题目 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域&#xff0c;且完全被水域单元格包围。孤岛是那些…

植物大战僵尸杂交版v2.3.7最新版本(附下载链接)

新版本更新啦&#xff01; B站游戏作者潜艇伟伟迷于8月19日更新了植物大战僵尸杂交版2.3.7版本&#xff01;&#xff01;&#xff01; v2.3.7版本更新内容&#xff1a; 游戏分辨率扩充&#xff0c;UI界面翻新&#xff0c;卡槽数量提升至16个&#xff0c;修复大量BUG&#xff0c…

网络协议与IO模型

1、说一说网络模型&#xff08;OSI、TCP/IP模型&#xff09; OSI采用了分层的结构化技术&#xff0c;共分七层&#xff0c; 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 。 Open System Interconnect 简称OSI&#xff0c;是国际标准化组织(ISO)和国际电报电…

【Windows脚本】如何测试远程主机某个端口是否开放?

概要 如何测试远程主机某个端口是否开放&#xff1f; 1、PowerShell脚本 使用Test-NetConnection 指令&#xff0c;命令如下。 Test-NetConnection RemoteIP -Port 80 -InformationLevel Detailed 2、tcping工具 下载地址&#xff1a;https://download.csdn.net/download/…

工具(1)查看YUV 图

#灵感# 没啥灵感&#xff0c;就是脑子越来越健忘&#xff0c;就啥都记一笔。 工具名字&#xff1a;YUVPlayer 操作流程&#xff1a; 1、打开YUVPlayer, 把YUV文件拖进来。 2、如果拖进来失败&#xff0c;需要先设置属性, 尤其是YUV类型。 3、成功打开图片后&#xff0c;如…

Linux批量验证代理IP的实用方法

在网络管理和优化过程中&#xff0c;批量验证代理IP的有效性是一个常见需求。无论是为了提高网络访问速度&#xff0c;还是为了确保代理IP的可用性&#xff0c;批量验证代理IP都是一项重要的任务。本文将详细介绍如何在Linux环境下批量验证代理IP&#xff0c;帮助你高效地管理和…

短剧小程序源码2023 短剧影视付费查看小视频会员收益系统全开源

本文来自&#xff1a;短剧小程序源码2023 短剧影视付费查看小视频会员收益系统全开源 - 源码1688 应用介绍 演示后台&#xff1a;http://duan.hengchuang.top/VwmRIfEYDH.php 后台账号&#xff1a;admin 后台密码&#xff1a;123456 功能介绍&#xff1a; 1&#xff0c;内容…

《白蛇:浮生》后劲不足,国漫败走2024暑期档

截止到8月19日中午&#xff0c;上映10天的动画电影《白蛇&#xff1a;浮生》票房终于突破3亿。 客观来说&#xff0c;3亿票房在今年暑期档不算差&#xff0c;但对于上映首日就拿到1.29亿票房的《白蛇&#xff1a;浮生》而言&#xff0c;后期票房走势确实没有达到预期&#xff…

4 nesjs IOC控制反转 DI依赖注入

在 NestJS 中&#xff0c;IOC&#xff08;控制反转&#xff09;和 DI&#xff08;依赖注入&#xff09;是核心概念&#xff0c;它们使得应用程序的模块化和解耦变得更加容易。 控制反转&#xff08;IOC&#xff0c;Inversion of Control&#xff09; 控制反转是一个设计原则&…

clickhouse中使用ReplicatedMergeTree表引擎数据去重问题

问题&#xff1a;使用ReplicatedMergeTree表引擎&#xff0c;该引擎逻辑上是不会对于主键相同的数据&#xff0c;进行去重合并操作。如果想要去重&#xff0c;可以使用ReplacingReplicatedMergeTree表引擎。然后使用ReplicatedMergeTree表引擎进行数据insert 插入数据&#xff…

数据防泄密之源代码防泄密的七大要则!

在数字化时代&#xff0c;源代码的安全保护对企业至关重要。它是企业创新和竞争力的核心&#xff0c;一旦泄露&#xff0c;可能会带来不可估量的损失。因此&#xff0c;选择一款合适的源代码加密软件成为了企业信息安全的关键。SDC沙盒防泄密软件以其独特的技术优势和全面的功能…

Windows 11 时间显示 到秒

效果 第一步 win R --> regedit 打开注册表 第二步 打开该路径HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced 第三步 然后新建一个DWORD&#xff08;32位&#xff09;值。 第四步 文件命名为ShowSecondsInSystemClock&#xff0c;双…

Flask+LayUI开发手记(二):LayUI弹出层表单的校验

LayUI里面layer.open()弹出层是一个十分常用也十分强大的功能&#xff0c;比如我们经常是先把记录以数据表单datatable方式显示出来&#xff0c;然后增删改查的功能就利用layer.open调取另一个form表单页面来进行数据编辑并提交数据完成数据表的更新操作。 同样&#xff0c;Lay…

【Dash】feffery_antd_components 简单入门示例

一、简单了解 feffery_antd_components 简称 fac &#xff0c;是一个基于 Ant Design 的 Dash 第三方组件&#xff0c;由Feffery 老师开源维护的 Python 网页开发组件库&#xff0c;它具有丰富的页面常用交互组件功能&#xff0c;使开发者可以使用纯Python的方式快速构建现代…

【工作记录】springboot中基于redis实现地理位置相关需求@20240822

背景 近期收到一个需求&#xff0c;有个事件管理系统&#xff0c;存储了用户上报上来的事件信息&#xff0c;其中包含了事件发生的经纬度&#xff0c;还有另外一个系统中保存了一系列的摄像头数据&#xff0c;也包含经纬度信息。 需求是这样的&#xff0c;用户点击某个事件的…

OpenSBI的PMP

概述 在RISC-V体系架构中&#xff0c;PMP是用于保护物理内存访问权限的机制。PMP机制允许为不同的物理内存区域指定访问权限&#xff08;读、写、执行&#xff09;。这种机制使得运行在RISC-V处理器上的软件只能访问被明确授权的物理地址空间&#xff0c;从而提高了系统的安全…

5.登录功能的开发

登录功能的开发 一、前端1.1首页跳转到登录页面1.2登录界面处理 二、后端2.1创建User实体类2.2创建UserDto类2.3创建UserServlet类 三、效果演示四、轻提示组件 一、前端 1.1首页跳转到登录页面 登录页面是一个单独的页面&#xff0c;我们需要从项目的首页跳转到登录页面。具…