依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
配置
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
创建
要点
- 扫描注解
2.服务端注解,输入名称,用于连接
- 各个注解,表明socket的生命周期,如OnOpen和OnMessage。分别是连接时,和收到消息时的时间钩子。使用session.getBasicRemote().sendText()向客户端发送消息
package com.learn.testwebsocket.socket;
import org.springframework.stereotype.Component;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
@Component
@ServerEndpoint("/test")
public class TestSocket {
@OnOpen
public Object get(Session session) {
System.out.println("连上了");
try {
session.getBasicRemote().sendText("你好,你已经连接上了");
} catch (IOException e) {
e.printStackTrace();
}
return "ok";
}
@OnMessage
public void getMessage(String msg) {
System.out.println(msg);
}
}