1、WebSocket端点的4个生命周期事件
- 打开事件: 此事件发生在端点建立新连接时并且在任何其他事件发生之前。
- 消息事件: 此事件接收 WebSocket 对话中另一端发送的消息。它可以发生在 WebSocket 端点接收了打开事件之后并且在接收关闭事件关闭连接之前的任意时刻。
- 错误事件: 此事件在 WebSocket 连接或者端点发生错误时产生。
- 关闭事件: 此事件表示 WebSocket 端点的连接目前正在部分地关闭,它可以由参与连接的任意一个端点发出。
2、注解式端点事件处理
为了将 Java 类声明成 WebSocket 端点,对于服务器端端点来说需要使用一个类级别注解 @ServerEndpoint,对于客户端端点来说需要使用类似的 @ClientEndpoint 注解。对于注解式端点来说,为了拦截不同的生命周期事件,我们需要以下方法级注解:@OnOpen @OnMessage @OnError @OnClose
@OnOpen
此注解用于注解式端点的方法,指示当此端点建立新的连接时调用此方法。此事件伴随着三部分信息:
1、WebSocket Session对象:用于表示已经建立好的连接(可选)。
2、配置对象(EndpointConfig的实例),包含了用来配置端点的信息(可选)。
3、任意数量的被@PathParam 注解的 String 参数