gpt4 book ai didi

signalr - 可靠地计算与 SignalR 集线器的客户端连接数

转载 作者:行者123 更新时间:2023-12-02 10:28:25 24 4
gpt4 key购买 nike

我正在创建一个 Web 仪表板,用于显示我们的测试环境的状态。

我使用集线器将浏览器连接到服务器,并有一个后台任务来轮询环境的状态。我只想在至少一个客户端已连接时执行此检查。

我的中心看起来有点像这样:

public class StatusHub : Hub
{
private static int connectionCount = 0;

public override Task OnConnected()
{
Interlocked.Increment(ref connectionCount);
return base.OnConnected();
}

public override Task OnReconnected()
{
Interlocked.Increment(ref connectionCount);
return base.OnReconnected();
}

public override Task OnDisconnected()
{
Interlocked.Decrement(ref connectionCount);
return base.OnDisconnected();
}

// other useful stuff
}

这主要有效,但有时 OnConnected 会被调用,但 OnDisconnected 不会被调用。

一个特定的情况是,如果我打开 Chrome 并输入页面的地址,但实际上并未导航到该页面。 Chrome 似乎正在预取页面并连接,但从未断开连接。

有两个问题:

  1. 这是计算连接数的好方法吗(我永远不会在网络场环境中运行)?
  2. 这些来自 Chrome 的僵尸连接最终会超时吗(我尝试将超时设置得很低,但仍然没有断开连接)?

最佳答案

事件总会触发。如果没有,请在 github 上提交包含重现步骤的错误。要获得更准确的数字,您可以存储连接 ID 的哈希集并从中获取计数。

关于signalr - 可靠地计算与 SignalR 集线器的客户端连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com