当前位置: 首页 > news >正文

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

一、前言

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

     《通义千问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;@Autowiredpublic void setMessageBrokerTaskScheduler(@Lazy TaskScheduler taskScheduler) {this.messageBrokerTaskScheduler = taskScheduler;}@Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {// 指定允许握手的域名//String[] allowedOrigins = {"www.microblog.store", "xxx"};registry.addEndpoint("/ws/handshake").setAllowedOrigins("*")  //如果指定握手域名,可以填入allowedOrigins .setHandshakeHandler(new UserHandshakeHandler());}@Overridepublic void configureMessageBroker(MessageBrokerRegistry registry) {registry.setApplicationDestinationPrefixes("/ws").setUserDestinationPrefix("/user")// 客户端订阅消息的请求前缀,topic一般用于广播推送,queue用于点对点推送.enableSimpleBroker("/broad",</

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 学习记录:js算法(十六):四数之和
  • 渗透课程第二阶段--Part8--XXE渗透与防御
  • 激活函数的创新之旅:在PyTorch中自定义激活函数
  • 常用PHP JS MySQL 常用方法记录
  • TCP三次握手过程详解
  • Shell编程规范与变量:详解环境变量、位置变量与预定义变量
  • Java 入门指南:Java IO流 —— 序列化与反序列化
  • centos7 xtrabackup mysql(8)压缩 全量备份 还原(4)
  • 加速网络体验,Squid缓存代理:让浏览如飞,畅享无限网络速度!
  • 计算机专业的真正的就业情况
  • C语言 | Leetcode C语言题解之第375题猜数字大小II
  • 02-03:原理图与PCB交互以及快速模块化
  • E - Red Polyomino 关于回溯 和爆搜
  • 入门STM32--按键输入
  • 排队辅助功能二手车,全速自适应巡航
  • @angular/forms 源码解析之双向绑定
  • [deviceone开发]-do_Webview的基本示例
  • 2019年如何成为全栈工程师?
  • Android优雅地处理按钮重复点击
  • C语言笔记(第一章:C语言编程)
  • emacs初体验
  • javascript 哈希表
  • Linux快速复制或删除大量小文件
  • Mac转Windows的拯救指南
  • PermissionScope Swift4 兼容问题
  • SwizzleMethod 黑魔法
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 第十八天-企业应用架构模式-基本模式
  • 对JS继承的一点思考
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 浅谈Golang中select的用法
  • 新手搭建网站的主要流程
  • 用Canvas画一棵二叉树
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​人工智能书单(数学基础篇)
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (4)logging(日志模块)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (ros//EnvironmentVariables)ros环境变量
  • (第61天)多租户架构(CDB/PDB)
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)程序员技术练级攻略
  • (转)原始图像数据和PDF中的图像数据
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET MVC第五章、模型绑定获取表单数据
  • .Net Web窗口页属性