博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring4新特性webSocket(二)
阅读量:5895 次
发布时间:2019-06-19

本文共 2220 字,大约阅读时间需要 7 分钟。

hot3.png

1.接口描述

        很多我们要了解一个框架,需要从源码开始。一开始我搜索spring framework框架看看有没有关于接口的详细介绍,发现没有,所以只有自己翻源码进行整理。先整理出有哪些接口,然后对接口的详细方法进行介绍。

        webSocket中有:WebSocketConfigurer、WebSocketHandler、WebSocketHandlerRegistration、HandshakeInterceptor、WebSocketHandlerRegistry、WebSocketSession、WebSocketMessage<T>、WebSocketClient、WebSocketMessageBrokerConfigurer等,大致主要的就是这些,下面我们将详细介绍,这些接口的作用和有哪些方法需要实现。

2.接口详解

2.1 WebSocketConfigurer

Defines callback methods to configure the WebSocket request handling:定义回调方法来配置的WebSocket请求处理。

接口方法:void registerWebSocketHandlers(WebSocketHandlerRegistry registry);如果需要注册{

WebSocketHandler}等包括SockJS后备选项。

2.2 WebSocketHandler

处理程序的WebSocket的消息和生命周期事件。同时此接口的实现在本地处理异常的地方。

接口方法:

void afterConnectionEstablished(WebSocketSession session) throws Exception;

WebSocket的交互后调用成功和WebSocket连接被打开,以备使用。

void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception;

当一个新的WebSocket消息到达时调用。

void handleTransportError(WebSocketSession session, Throwable exception) throws Exception;

处理来自底层的WebSocket的消息传输错误。

void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception;

调用后,WebSocket连接已被任何一方关闭,或者发生传输错误之后。虽然会话可能还专门开放,这取决于底层实现,在这一点上发送消息气馁,最有可能不会成功。

boolean supportsPartialMessages();

是否WebSocketHandler处理部分消息。

2.3 WebSocketHandlerRegistration

提供了用于配置WebSocket的处理方法。

WebSocketHandlerRegistration addHandler(WebSocketHandler handler, String... paths);

添加更多处理器将共享相同的配置(拦截器,SockJS配置等)

2.4 HandshakeInterceptor

拦截器的WebSocket握手请求。可以用来检查握手请求和响应以及传递属性的目标

boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,

            WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception;
在处理前握手调用。

void afterHandshake(ServerHttpRequest request, ServerHttpResponse response,

            WebSocketHandler wsHandler, Exception exception);

握手完成后调用。响应状态和头表明握手,即它是否成功与否的结果。

2.5 WebSocketHandlerRegistry

提供了配置{

 WebSocketHandler}请求映射方法。

2.6 WebSocketSession

一个会话的WebSocket抽象。可发送消息通过WebSocket连接,并关闭它。

String getId();

URI getUri();

返回用于打开WebSocket连接的URL。

Map<String, Object> getHandshakeAttributes();

HttpHeaders getHandshakeHeaders();

2.7 WebSocketMessage

可以处理或WebSocket连接上发送的消息。

T getPayload();

返回消息的有效载荷。

boolean isLast();

是否返回完整的消息。

转载于:https://my.oschina.net/u/2380961/blog/713424

你可能感兴趣的文章
我就是一个救火员(DBA救援)
查看>>
Centos7安装Gitlab10.0
查看>>
Windows Server 笔记(六):Active Directory域服务:域控制器安装
查看>>
FTP传输文件(hcl模拟器的操作)
查看>>
discuz X3登录流程分析
查看>>
javascript事件响应
查看>>
通过script标签实现JSONP跨域调用
查看>>
用jQuery实现Ajax
查看>>
***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
查看>>
上传图片预览
查看>>
vim编辑器
查看>>
程序设计的一些原理
查看>>
iTerm的安装以及配置
查看>>
explore my oracle support using firefox 3.6
查看>>
《社交网站界面设计(原书第2版)》——1.7 反模式的重要性
查看>>
2016上半年DDoS攻击报告:DDoS攻击的规模和攻击频率都在不断攀升
查看>>
混合云、区块链、认知技术,还有哪一样前沿技术是IBM没提到的吗?
查看>>
呼叫中心现场管理人员注意事项
查看>>
nagios监控远程windows服务器
查看>>
lagp,lacp详解
查看>>