Skip to content

Commit 5871403

Browse files
committed
test AbstractWebSocketHandler
1 parent 938bfe8 commit 5871403

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

src/main/java/cn/netbuffer/springboot/websocket/demo/config/SpringWebSocketConfig.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.netbuffer.springboot.websocket.demo.config;
22

3+
import cn.netbuffer.springboot.websocket.demo.websocket.handler.MessageHandler;
34
import cn.netbuffer.springboot.websocket.demo.websocket.handler.TextHandler;
45
import lombok.extern.slf4j.Slf4j;
56
import org.springframework.context.annotation.Bean;
@@ -14,12 +15,18 @@ public class SpringWebSocketConfig implements WebSocketConfigurer {
1415

1516
@Override
1617
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
17-
registry.addHandler(buildTextHandler(), "/ws").setAllowedOrigins("*");
18+
// registry.addHandler(buildTextHandler(), "/ws").setAllowedOrigins("*");
19+
registry.addHandler(buildMessageHandler(), "/ws").setAllowedOrigins("*");
1820
}
1921

2022
@Bean
2123
public WebSocketHandler buildTextHandler() {
2224
return new TextHandler();
2325
}
2426

27+
@Bean
28+
public WebSocketHandler buildMessageHandler() {
29+
return new MessageHandler();
30+
}
31+
2532
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package cn.netbuffer.springboot.websocket.demo.websocket.handler;
2+
3+
import lombok.extern.slf4j.Slf4j;
4+
import org.springframework.web.socket.*;
5+
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
6+
7+
@Slf4j
8+
public class MessageHandler extends AbstractWebSocketHandler {
9+
10+
@Override
11+
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
12+
super.afterConnectionEstablished(session);
13+
SessionManager.put(session.getId(), session);
14+
log.info("session[{}] afterConnectionEstablished", session.getId());
15+
}
16+
17+
@Override
18+
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
19+
log.info("session[{}] afterConnectionClosed", session.getId());
20+
SessionManager.remove(session.getId());
21+
}
22+
23+
@Override
24+
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
25+
log.info("session[{}] receive text message={}", session.getId(), message);
26+
}
27+
28+
@Override
29+
protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
30+
log.info("session[{}] receive binary message={} length={}", session.getId(), message, message.getPayloadLength());
31+
}
32+
33+
@Override
34+
protected void handlePongMessage(WebSocketSession session, PongMessage message) throws Exception {
35+
log.info("session[{}] receive pong message={}", session.getId(), message);
36+
}
37+
38+
@Override
39+
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
40+
}
41+
42+
}

0 commit comments

Comments
 (0)