2017-02-03 73 views
1

我有一個網絡應用程序,教師在其中創建一個班級,並且能夠上傳材料並將學生添加到班級中。學生還可以加入特定的老師班,並下載任何上傳的材料。向特定客戶發送SSE

當教師將材料上傳到特定課程時,將向每個連接的客戶端發送一個服務器發送事件,並從客戶端發出檢查以確定此事件是否與客戶有關。下面是一個代碼示例:

let eventSource = new EventSource(url); 
eventSource.onmessage = function(event){ 
    if(joinedClasses.indexOf(event.data.class) !== -1){ 
    //notify the user. 
    } 
    //else just discard the message. 
} 

我想知道這是否是這樣做的正確方法,或者我應該只使用(長)投票或其他方法。謝謝。

+0

這應該在服務器端完成。你在服務器端使用什麼語言/框架? – Mario

+0

@Mario。我正在使用Java的Jersey API – Dapope

回答

0

根據您的後端結構,你可以嘗試用3點不同的方法:

1)發送用戶ID作爲GET參數,這樣一來你就必須爲每個用戶特定的數據流。

2)另一種方法是在服務器端有不同的事件,然後客戶端只會聽取與它們相關的事件。

3)如果你沒有數據庫,會話也可以用於某些情況。

相關問題