Spring-websocket 使用

29 篇文章 0 订阅

最近项目要用到websocket,同时结合现有的系统spring-boot架构,那就研究了下基于spring-boot的websocket实现。

 

参考官网:https://spring.io/guides/gs/messaging-stomp-websocket/,官网是英文,借助有道翻译和蒙猜,也能顺利的实践下来。

download from git : https://github.com/spring-guides/gs-messaging-stomp-websocket.git

使用IDEA撸代码,下载后一通操作mvn upload下jar包,很顺利没有报错;查看README,有没有特殊关照;代码结构点点看新鲜不新鲜...

 

简单的翻译下:

Greeting HelloMessage: 服务端基本组件,处理操作内容;

GreetingController: 在Spring处理STOMP消息的方法中,可以将STOMP消息路由到@Controller类。例如,将GreetingController映射为处理目的地“/hello”的消息

WebSocketConfig: 现在已经创建了服务的基本组件,您可以配置Spring来启用WebSocket和STOMP消息传递

Application: spring boot启动入口

index.html: 客户web端界面

app.js: 包含客户端应用程序的逻辑;此实例里使用了connect()和sendName()方法

 

遇到的问题:mvnw spring-boot:run正常启动,前端的send连接不同后端。F12后报错误是找不到jquery.min.js,所以调试到可能是socket的关联版本问题。于是在调试N多种情况下,在maven上查询最新的版本,重新下载、部署、启动,调试成功。

 

附上最新的版本

Spring WebSocket连接可以通过使用netty-websocket-spring-boot-starter来实现。这个脚手架可以让我们在Spring Boot中使用Netty来开发WebSocket服务器,并且像使用spring-websocket的注解开发一样简单。\[1\] 要实现Spring WebSocket连接,可以按照以下步骤进行操作: 1. 继承AbstractWebSocketHandler类,重写afterConnectionEstablished、handleTextMessage、handleBinaryMessage、handleTransportError、afterConnectionClosed等方法,这些方法可以与jdk的原生WebSocket注解对应上。\[2\] 2. 实现WebSocketConfigurer接口,进行WebSocket的相关配置,通过WebSocketHandlerRegistry注册自定义的WebSocketHandler。 3. 通过WebSocketSession来实现消息的发送。当接收到字符串消息时,可以回调相应的方法。\[3\] 在配置方面,可以设置WebSocket的path、host、端口号等属性。还可以设置最大允许帧载荷长度、IdleStateHandler中的allIdleTimeSeconds等参数。\[3\] 总结起来,使用netty-websocket-spring-boot-starter可以简化Spring WebSocket连接的开发过程,并提供了一些核心注解和配置选项来方便开发者进行使用。 #### 引用[.reference_title] - *1* *3* [【项目实战】基于netty-websocket-spring-boot-starter实现WebSocket服务器长链接处理](https://blog.csdn.net/wstever/article/details/129427160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [websocket系列基于spring-boot-starter-websocket实现](https://blog.csdn.net/web13618542420/article/details/126551816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值