Javascript 向特定客户发送SSE

Javascript 向特定客户发送SSE,javascript,polling,long-polling,server-sent-events,Javascript,Polling,Long Polling,Server Sent Events,我有一个网络应用程序,老师可以在其中创建一个班级,并可以上传材料和向班级添加学生。学生也可以加入某个特定的教师课堂,下载任何上传的材料 当教师将材料上载到特定类时,服务器发送的事件将发送到每个连接的客户端,并从客户端执行检查,以确定此事件是否与客户端有关。下面是一个代码示例: let eventSource = new EventSource(url); eventSource.onmessage = function(event){ if(joinedClasses.indexOf(eve

我有一个网络应用程序,老师可以在其中创建一个班级,并可以上传材料和向班级添加学生。学生也可以加入某个特定的教师课堂,下载任何上传的材料

当教师将材料上载到特定类时,服务器发送的事件将发送到每个连接的客户端,并从客户端执行检查,以确定此事件是否与客户端有关。下面是一个代码示例:

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

我想知道这是否是正确的方法,还是应该使用(长)轮询或其他方法。谢谢。

根据您的后端结构,您可以尝试三种不同的方法:

1) 将用户ID作为GET参数发送,这样可以为每个用户提供特定的流

2) 另一种方法是在服务器端有不同的事件,然后客户端将只侦听与它们相关的事件


3) 如果您没有数据库,会话也可以用于某些情况。

我使用查询字符串作为
键来实现。您可以看到一个简单的示例

这应该在服务器端完成。您在服务器端使用的是什么语言/框架?@Mario。我正在使用Java的Jersey API