2015-06-19 48 views
0

我有一個javascript客戶端,它通過websockets連接到服務器,並通過ajax將數據發送到服務器。 服務器完成數據處理後,我想通過websocket發送消息給客戶端。 問題是:如何從REST bean中找到WebSocket(希望在同一會話中...)如何從REST bean中找到WebSocket

回答

1

Websocket連接以HTTP握手開始。在握手過程中,您還會收到Cookie(例如會話ID cookie),以便您可以訪問HTTP會話。

From the JSR 356 Java API for WebSocket spec:

因爲WebSocket連接與一個http請求發起的,有在其下客戶正在操作的HttpSession和被該HttpSession的內建立任何的WebSockets之間的關聯。該API允許在開始握手時訪問與同一客戶端相對應的唯一HttpSession。

這就是要以任何你認爲合適的方式將HTTP會話與websocket連接相關聯的一點。

+0

但它似乎不支持@SessionScope - 我會自己實現它:-)謝謝! –