Websocet服务端实现
WebSocketConfig.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
@Configuration
@EnableWebMvc
@EnableWebSocket
public
class
WebSocketConfig
extends
WebMvcConfigurerAdapter
implements
WebSocketConfigurer {
@Override
public
void
registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(systemWebSocketHandler(),
"/webSocketServer"
).addInterceptors(
new
WebSocketHandshakeInterceptor());
registry.addHandler(systemWebSocketHandler(),
"/sockjs/webSocketServer"
).addInterceptors(
new
WebSocketHandshakeInterceptor())
.withSockJS();
}
@Bean
public
WebSocketHandler systemWebSocketHandler(){
return
new
SystemWebSocketHandler();
}
}
|
1
|
<
context:component-scan
base-package
=
"com.ldl.origami.websocket"
/>
|
@Configuration
@EnableWebMvc
@EnableWebSocket
这三个大致意思是使这个类支持以@Bean的方式加载bean,并且支持springmvc和websocket,不是很准确大致这样,试了一下@EnableWebMvc不加也没什么影响,@Configuration本来就支持springmvc的自动扫描
1
|
registry.addHandler(systemWebSocketHandler(),
"/webSocketServer"
).addInterceptors(
new
WebSocketHandshakeInterceptor())
|
1
2
3
|
registry.addHandler(systemWebSocketHandler(),
"/sockjs/webSocketServer"
).addInterceptors(
new
WebSocketHandshakeInterceptor())
.withSockJS();
}
|
首先SystemWebSocketHandler.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|