SpringMVC中怎么开放WebSocket接口


这篇文章给大家介绍SpringMVC中怎么开放WebSocket接口,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 1)首先创建websocket专属的package(规范问题,实现某一功能的源码应放到统一路径下)。 2)创建WebSocketConfig类,继承WebMvcConfigurationSupport类,实现WebSocketConfigurer接口并实现其定义的方法。添加类注解@Configuration
@EnableWe 香港云主机bMvc
@EnableWebSocket 3)实现的registerWebSocketHandlers方法中,使用参数WebSocketHandlerRegistry的对象开放WebSocket接口。registry.addHandler(websocket消息处理实现类实例,websocket地址).setAllowedOrigins(“*”).addInterceptors(拦截器实例); 其中setAllowedOrigins为设置访问权限,通常不限制访问时使用“*”;addInterceptors为添加拦截器,如果不需要拦截器则可不调用此方法。 通常开放WebSocket接口开放两个,因浏览器支持的问题,前端只能使用SockJS插件实现WebSocket连接,所以我们还要开放一个专为SockJS服务的WebSocket接口,只需调用withSockJS接口即可。registry.addHandler(websocket消息处理实现类实例,websocket地址).setAllowedOrigins(“*”).addInterceptors(拦截器实例).withSockJS(); 至此,第一步,配置WebSocket信息已完成。 1)创建WebSocket消息处理接口,继承WebSocketHandler接口(为开放操作接口给其他服务调用,一般与业务相关,服务端希望推送消息时调用此接口,同样关乎规范,亦可使用其他方式实现)。 2)创建WebSocket消息处理实现类,实现第一步创建的接口。其中,业务接口请自行实现,从WebSocketHandler继承实现的接口有:afterConnectionEstablished:建立WebSocket连接成功时触发。handleMessage:收到客户端发送的消息时触发。handleTransportError:发生异常时触发。afterConnectionClosed:与客户端断开连接时触发。supportsPartialMessages:是否支持部分消息处理(一般返回false,此标志一般用来拆分大型或未知大小的WebSocket消息,当支持部分消息时,一个消息会拆分成多个消息调用handleMessage,可以利用WebSocketMessage的isLast方法判断是否最后一次消息)。 1)创建WebSocket拦截器,实现HandshakeInterceptor接口。实现方法有:beforeHandshake:消息处理前。afterHandshake:消息处理后。 此处使用配置扫描包的形式,在配置文件中添加 其中base-package可以根据自己项目的实际包路径配置。 下面就是实例代码,细节处可根据实际项目修改: WebSocket配置信息 自定义WebSocket消息处理接口自定义WebSocket消息处理接口实现拦截器扫描包配置关于SpringMVC中怎么开放WebSocket接口就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: 六、RPC基本原理

[TOC]​ 所谓的RPC其实是为了不同主机的两个进程间通信而产生的,通常不同的主机之间的进程通信,那么程序编写则需要考虑到网络通信的功能,这样程序的编写将会变得复杂。而RPC就是报文交换的一种机制,一台主机上的进程对另外一台主机的进程发起请求时,内核会将请求…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/27 19:02
下一篇 07/27 19:02

相关推荐