WebSocket实战之五JSR356

WebSocket实战之五JSR356,第1张

一、前言

前几篇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实战之一》代码  ,然后就可以向相互发送消息了。

四、SpringBoot整合WebSocket例子

使用SpringBoot整合WebSocket也很简单,因为Springboot内置了Tomcat。

1、pom.xml

2、WebSocket配置

3、WebSocketServer

五、友情链接

1、《WebSocket实战之一》

2、《WebSocket实战之二协议分析》

3、《WebSocket实战之三遇上PAC》

4、《WebSocket实战之四WSS配置》

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/877006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存