前几篇WebSocket例子服务端我是用NodeJS实现,这一篇我们用Java来搭建一个WebSocket服务端,从2011年WebSocket协议RFC6455发布后,大多数浏览器都实现了WebSocket协议客户端的API,而对于服务端Java也定义了一个规范JSR356,即Java API for WebSocket规范,很多Web容器如Tomcat、Jetty等新版本都支持该规范。
二、JSR356JSR356是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实战之一》代码 ,然后就可以向相互发送消息了。
四、SpringBoot整合WebSocket例子使用SpringBoot整合WebSocket也很简单,因为Springboot内置了Tomcat。
1、pom.xml 2、WebSocket配置 3、WebSocketServer 五、友情链接1、《WebSocket实战之一》
2、《WebSocket实战之二协议分析》
3、《WebSocket实战之三遇上PAC》
4、《WebSocket实战之四WSS配置》
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)