1、在pom.xml文件中添加jar包:
<properties>
<spring.version>4.0.5.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
2、在websocket類添加configurator = SpringConfigurator.class
當創建好一個(服務)端點之后,將它以一個指定的URI發布到應用當中,這樣遠程客戶端就能連接上它了
@ServerEndpoint(value = "/MyWebSocket/{userId}", configurator = SpringConfigurator.class)
public class MyWebSocket {
}
@ServerEndpoint注解就是拿來創建服務端點的
@ServerEndpoint 注解是一個類層次的注解,它的功能主要是將目前的類定義成一個websocket服務器端。注解的值將被用於監聽用戶連接的終端訪問URL地址。
onOpen 和 onClose 方法分別被@OnOpen和@OnClose 所注解。這兩個注解的作用不言自明:他們定義了當一個新用戶連接和斷開的時候所調用的方法。
onMessage 方法被@OnMessage所注解。這個注解定義了當服務器接收到客戶端發送的消息時所調用的方法。注意:這個方法可能包含一個javax.websocket.Session可選參數(在我們的例子里就是session參數)。如果有這個參數,容器將會把當前發送消息客戶端的連接Session注入進去。
關於websocket:
WebSocket用於在Web瀏覽器和服務器之間進行任意的雙向數據傳輸的一種技術。WebSocket協議基於TCP協議實現,包含初始的握手過程,以及后續的多次數據幀雙向傳輸過程。其目的是在WebSocket應用和WebSocket服務器進行頻繁雙向通信時,可以使服務器避免打開多個HTTP連接進行工作來節約資源,提高了工作效率和資源利用率