引入依赖
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
maven依赖pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
创建websocket代码
@ServerEndpoint("/ws/progress")
@Component
public class MyWebSocket {
private Session session;
@OnOpen
public void onOpen(){
}
@OnClose
public void onClose() {
}
public Session getSession() {
return session;
}
//发送消息
public static void sendMsg(String message){
MyWebSocket mySocket = new MyWebSocket();
mySocket.getSession().getBasicRemote().sendText(message);
}
}
ServerEndpoint的使用
- 注解定义:
@ServerEndpoint
注解用于标识一个类为WebSocket服务端点,该注解必须包含至少一个value参数,用于指定WebSocket服务端点的URI地址。- 常用的注解还包括
@OnOpen
、@OnClose
、@OnMessage
、@OnError
,分别用于处理连接建立、连接关闭、接收消息、发生错误的情况。
@ServerEndpoint("/ws")
public class WebSocketEndpoint {
@OnOpen
public void onOpen(Session session) {
// 连接建立时的处理逻辑
}
@OnClose
public void onClose(Session session) {
// 连接关闭时的处理逻辑
}
@OnMessage
public void onMessage(String message, Session session) {
// 收到消息时的处理逻辑
}
@OnError
public void onError(Session session, Throwable throwable) {
// 发生错误时的处理逻辑
}
}