2
我有一個通過POST請求接收消息的REST服務(Play Framework 2.0 w/Scala)。從客戶端發送數據創建枚舉器
我想允許用戶看到網頁中收到的消息隊列。我想在瀏覽器和服務器之間創建一個SSE通道,以便服務器將新消息推送到瀏覽器。
要創建該SSE流,根據文檔,我使用一個枚舉器/枚舉/ Iteratee鏈。
我的問題是:如何將從POST請求收到的消息注入枚舉器。所以給出這樣的代碼如下:
def receive(msg: String) = Action {
sendToEnumerator()
Ok
}
val enumerator = Enumerator.fromCallback(???)
def sseStream() = Action {
Ok.stream(enumerator &> anotherEnumeratee ><> EventStrem()).as("text/evetn-stream")
}
我應該放什麼在這兩個sendToEnumerator
和enumerator
(其中???是)。或者我應該只使用WebSockets和Actor? (我喜歡因更廣泛的兼容性看,所以想盡可能使用SSE)
只是建議:我最後一次建我用的是網HRS歐洲FB牆頁面的WebSockets http://www.playframework.org/documentation/2.0.4/ScalaWebSockets,它爲我做了詭計。 – biesior
@biesior如果我可以,我想使用SSE,但我看到websockets是一個更簡單的方法。但是由於Websockets似乎不太受支持...... –