Java服务器端

霄
2022-05-04 / 0 评论 / 59 阅读 / 正在检测是否收录...

java 端使用 WebSocket 可以使用以下三种形式:

1、使用 Spring 的底层级 WebSocketAPI 实现(实现 TextWebSocketHandler 接口)

2、使用 Spring 高级API 实现(使用 SimpMessagingTemplate 方法)

3、使用 JSR356 定义的 WebSocket 规范实现

个人认为使用 JSP356 的 WebSocket 规范最为简单。

2.1 JSR356定义的 WebSocket 规范

首先引入依赖:

springboot
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-websocket</artifactId>
    <version>4.3.10.RELEASE</version>
</dependency>
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>

JSR356 的 WebSocket 规范使用 javax.websocket.* 的 API,可以将一个普通 Java 对象(POJO)使用 @ServerEndpoint 注释从而作为 WebSocket 服务器的端点,此时客户端浏览器已经可以对 WebSocket 客户端 API 发起 HTTP 长连接了,如:

@ServerEndpoint(value="/websocket/commodity/{userId}", configurator = SpringConfigurator.class)

注释中的参数 value 表示的是 url 路径与 @RequestMapping 注释中的 value 类似,而他表示的是前端创建 WebSocket 对象需要传入的 ws 协议的路径。当中的 {userId} 参数作为当前客户的识别 ID 号,此时客户端传入的 url 应该为:

ws://[Server端IP或域名]:[Server端口]/项目/websocket/commodity/{userId}

注意:如果在要进行对象注入,就必须加上 configurator = SpringConfigurator.class。

参考

【spring boot websocket 的使用 - CSDN App】http://t.csdn.cn/XUSQf

扫描二维码,在手机上阅读!
85

评论

博主关闭了当前页面的评论