问题:我有一个基于存储在查询字符串中的变量动态创建的组,这些变量由客户端在连接时发送.start()
$.connection.hub.qs = "live=" + eventID;
$.connection.hub.start({ transport: 'longPolling' }).done(function (data) {}
我每 5 秒向客户发送一次更新。这些群体“生活”了一定的时间。例如现场投注游戏。所以每场比赛/比赛都是一个小组。游戏结束时,我想删除该组并停止向该组中的客户端发送更新(强制该组中的客户端断开连接)。所以发生的情况是,我没有向那个组发送任何新的 dana,我只是忽略了那个组 :),但是该组中的客户端仍然每 120 秒或更短时间发送一次挂起的请求(以防长池传输)得到了休息(基本上是请求超时)。
可能的解决方案:
在阅读了一些帖子后,我得出结论,这可以通过将这些组(具有相应
connectionIDs
的 )作为 Hub 类的静态字段保存在内存中或数据存储中来完成。在某些比赛结束后,我应该connectionIDs
从该组中删除所有内容。也许我可以再定义一个客户端(当我说客户端时,我认为 JS 客户端是明确的)函数,当匹配在服务器上结束时调用。就像是。
var myHubProxy = $.connection.myHub myHubProxy.client.stopClient = function() { $.connection.hub.stop(); };
欢迎任何帮助或建议。谢谢。