服务器发送事件多个客户端

时间:2016-12-20 14:27:56

标签: javascript asp.net vb.net server-sent-events

也许我不了解服务器发送事件,但我无法满足我的特定需求。 我想实现Server-Sent Events,其中一个Asp.net页面发送到多个客户端,具体取决于通过查询字符串传递到服务器页面的客户端ID。

某些客户端可能具有相同的ID,因此必须根据客户的ID向客户广播消息。

例如

var source = new EventSource("/test.aspx?l=4298");
source.onmessage = function (event)
{
  document.getElementById("result").innerHTML += event.data + "<br>";
};

在服务器上,我根据传递的ID查询数据库,如果有记录,则发送一些数据通知客户端。

我已尝试在服务器上使用2秒延迟的while循环,但它不是非常可靠,它仅向部分客户端报告。然后我尝试在没有循环的情况下运行页面,只需打开数据库,然后它每隔3秒为每个客户端打开一个数据库连接,这将太过服务器密集。

我需要的是服务器上的一个asp.net页面,它向所有连接的客户端广播,只打开数据库,例如每20秒一次,如果有客户端的数据,它会通知他/他们。

如果有人可以指点我的书或视频或任何教程我会很感激。

0 个答案:

没有答案