使用SpringBoot演示一个简单的基于WebSocket通信示例。
创建SpringBoot工程
通过Intellij IDEA工具创建一个新的SpringBoot工程,并添加启动类WebsocketApplication。
添加依赖包
在pom.xml文件中引入netty-websocket-spring-boot-starter和spring-boot-starter-web两个依赖包,如下所示:
```xml
```
配置WebSocket
添加配置注入ServerEndpointExporter,用于自动注册所有的@ServerEndpoint注解,如下所示:
```java
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
```
编写WebSocket服务端代码
在WebSocketServer类上添加@ServerEndpoint注解,并设置WebSocket的port、path等信息,如下所示:
```java
@ServerEndpoint("/websocket")
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
// 连接建立时的操作
}
@OnClose
public void onClose(Session session) {
// 连接关闭时的操作
}
@OnMessage
public void onMessage(String message, Session session) {
// 接收到消息时的操作
}
@OnError
public void onError(Throwable error) {
// 发生错误时的操作
}
}
```
编写WebSocket客户端代码
在浏览器端新建一个文件,实现一个简单的WebSocket实例,如下所示:
```html
var socket new WebSocket("ws://localhost:8080/websocket");
socket.onopen function() {
console.log("WebSocket连接已打开");
};
socket.onmessage function(event) {
var message ;
("message").innerHTML "接收到消息:" message;
};
socket.onclose function() {
console.log("WebSocket连接已关闭");
};
function sendMessage() {
var message ("inputMessage").value;
(message);
}
```
演示验证
打开浏览器,访问页面。在输入框中输入测试字符,点击发送按钮即可向服务器发送消息。服务器收到消息后会将消息返回给客户端,并在页面上显示接收到的消息。
这样就成功建立了WebSocket连接,并进行了简单的通信。
注意:在实际应用中,需要根据具体需求来处理WebSocket的业务逻辑,并进行相应的安全性控制和异常处理。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。