我有一个网络应用程序,其中教师创建一个类,并能够上传材料并将学生添加到课程中。学生还可以加入特定教师的课程并下载任何上传的资料。
当教师将材料上传到特定课程时,会将服务器发送事件发送到每个连接的客户端,并从客户端执行检查以查明此事件是否与客户端有关。这是代码示例:
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 :(得分:0)
根据您的后端结构,您可以尝试使用3种不同的方法:
1)将用户ID作为GET参数发送,这样您就可以为每个用户提供特定的流。
2)另一种方法是在服务器端有不同的事件,然后客户端只会监听与它们相关的事件。
3)如果您没有数据库,也可以在某些情况下使用会话。
答案 1 :(得分:0)
我已经使用查询字符串作为keys
来实现。您可能会看到一个最小的示例here