问题:
我有一个基于存储在查询字符串中的变量动态创建的组,这些组由客户端在连接.start()
上发送
$.connection.hub.qs = "live=" + eventID;
$.connection.hub.start({ transport: 'longPolling' }).done(function (data) {}
我每5秒向客户发送一次更新。那些团体“活”了一定的时间。例如。现场投注游戏。所以每场比赛/比赛都是一个小组。当游戏结束时,我想删除该组并停止向该组中的客户端发送更新(强制该组中的客户端断开连接)。 所以会发生什么,我不会向该组发送任何新的dana我只是忽略该组:),但该组中的客户端仍然每120秒发送一个待处理的请求(如果长池是传输)或者少一些得到了重新定位(基本上是请求超时)。
可能的解决方案:
在阅读了一些帖子后,我得出结论,这可以通过将这些组(具有相应的connectionIDs
)作为Hub类的静态字段或数据存储保存在内存中来完成。在一些匹配结束后,我应该从该组中删除所有connectionIDs
。
也许我可以再定义一个客户端(当我说客户端我认为JS客户端jus要清除时)函数,当匹配在服务器上结束时调用。就像是。
var myHubProxy = $.connection.myHub
myHubProxy.client.stopClient = function() {
$.connection.hub.stop();
};
欢迎任何帮助或建议。感谢。
答案 0 :(得分:0)
你的第二种方法是现在最好的方法。我们正在研究在未来版本中添加一项功能,以便您立即断开客户端与服务器端的连接。