spring整合websocket,如何在服務端依賴注入service

一、在pom.xml文件中添加jar包:java

<properties>
<spring.version>4.0.5.RELEASE</spring.version>web

</properties>spring

<dependencies>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>api

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>瀏覽器

</dependencies>服務器

二、在websocket類添加configurator = SpringConfigurator.classwebsocket

當建立好一個(服務)端點以後,將它以一個指定的URI發佈到應用當中,這樣遠程客戶端就能鏈接上它了session

@ServerEndpoint(value = "/MyWebSocket/{userId}", configurator = SpringConfigurator.class)
public class MyWebSocket {socket

}ide

 

@ServerEndpoint註解就是拿來建立服務端點的

@ServerEndpoint 註解是一個類層次的註解,它的功能主要是將目前的類定義成一個websocket服務器端。註解的值將被用於監聽用戶鏈接的終端訪問URL地址。

onOpen 和 onClose 方法分別被@OnOpen和@OnClose 所註解。這兩個註解的做用不言自明:他們定義了當一個新用戶鏈接和斷開的時候所調用的方法。

onMessage 方法被@OnMessage所註解。這個註解定義了當服務器接收到客戶端發送的消息時所調用的方法。注意:這個方法可能包含一個javax.websocket.Session可選參數(在咱們的例子裏就是session參數)。若是有這個參數,容器將會把當前發送消息客戶端的鏈接Session注入進去。

 

 

關於websocket:

WebSocket用於在Web瀏覽器和服務器之間進行任意的雙向數據傳輸的一種技術。WebSocket協議基於TCP協議實現,包含初始的握手過程,以及後續的屢次數據幀雙向傳輸過程。其目的是在WebSocket應用和WebSocket服務器進行頻繁雙向通訊時,能夠使服務器避免打開多個HTTP鏈接進行工做來節約資源,提升了工做效率和資源利用率

相關文章
相關標籤/搜索