【发布时间】:2014-05-20 14:39:53
【问题描述】:
根据the wisdom of StackOverflow,无法列出或检查已连接客户端的数量。不过回复有点老了,不知道还有效吗。
它是服务器记录所有连接和断开连接的唯一选项吗? 是否至少有一些功能可以帮助我们检测断开连接?
【问题讨论】:
根据the wisdom of StackOverflow,无法列出或检查已连接客户端的数量。不过回复有点老了,不知道还有效吗。
它是服务器记录所有连接和断开连接的唯一选项吗? 是否至少有一些功能可以帮助我们检测断开连接?
【问题讨论】:
绝对有办法。
很多人通过创建一个包含您定义的任何自定义用户对象的并发字典的单例类来处理这个问题。如果您在连接时将自定义用户对象添加到此字典并在断开连接时将其删除,您将能够在字典中查询活动用户的数量。请记住,它可能不会精确到秒,因为大约有一个 30 秒的“中止”窗口可能仍然处于活动状态,即使客户端不再是因为他们关闭了浏览器。
现在,SignalR 中是否有任何真正的“硬性”功能可以为您执行此操作?我不知道,但我还没有太详尽地研究 2.0。至于检测断开连接,它相当强大,如果未检测到连接,它会如前所述删除连接,让您随时了解断开连接。
这里有一个很好的教程来描述这种方法:
【讨论】: