一、前言
前几篇WebSocket例子服务端我是用NodeJS实现,这一篇我们用Java来搭建一个WebSocket服务端,从2011年WebSocket协议RFC6455发布后,大多数浏览器都实现了WebSocket协议客户端的API,而对于服务端Java也定义了一个规范JSR356,即Java API for WebSocket规范,很多Web容器如Tomcat、Jetty等新版本都支持该规范。
二、JSR356
JSR356是JavaEE7标准的一部分,所有支持JavaEE7标准的应用服务器都有JSR356的WebSocket实现。
注:上面JSR356图上写成JSR365了,懒得改图了。
JSR36可以采用注解或接口来实现WebSocket生命周期方法的实现。
1、注解方式
-
@ServerEndpoint("/websockets")
告诉容器此类是WebSocket服务端端点,
使用路径/websockets连接。
-
@ClientEndpoint
告诉容器此类是WebSocket客户端端点。
-
@OnOpen
一旦建立了WebSocket连接就会创建Session,
并调用该注解的方法
-
@OnMessage
对方端点发送消息过来,调用该注解的方法。
-
@OnClose
对方端点关闭连接时会调用该注解的方法。
-
@OnError
如果异常错误就会调用该注解的方法。
2、实现接口方式
继承javax.websocket.Endpoint实现命令周期各个方法。
WebSocket JavaAPI支持消息类型
-
文本消息
-
二进制消息
-
pingpong消息
三、一个简单例子
使用内嵌Tomcat来运行WebSocket服务,webSocket依赖于容器的实现。
1、创建项目
使用IDEA创建 webapp maven工程。
2、pom.xml
添加Websocket以及内嵌Tomcat依赖。
3、Tomcat启动类
4、WebSocketServer类
4、客户端代码
使用 WebSocket实战之一 代码 ,然后就可以向相互发送消息了。文章来源:https://www.toymoban.com/news/detail-744354.html
四、SpringBoot整合WebSocket例子
使用SpringBoot整合WebSocket也很简单,因为Springboot内置了Tomcat。文章来源地址https://www.toymoban.com/news/detail-744354.html
1、pom.xml
2、WebSocket配置
3、WebSocketServer
到了这里,关于WebSocket实战之五JSR356的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!