1> 只是想了解 SignalR 1.x 在特定场景中的功能
假设我们有 10 个客户端连接到 Hub,其中一个连接的客户端说客户端 1 执行回发,因此调用 OnDisconnected 而不是调用 OnConnected 对吗?
如果在此阶段,如果客户端 2 尝试在所述场景之间向客户端 1 发送消息,即(msg 在客户端 1 断开连接后再次连接之前发送)将客户端 1 错过消息或有内部机制确保客户端 1 不会错过客户端 2 发送的消息
,会发生什么情况2> 我的第二个查询是我正在尝试使用以下代码传递查询字符串
var chat = $.connection.myHub;
$.connection.myHub.qs = { "token": "hello" };
但无法在服务器端从上下文对象检索它用
Context.QueryString.AllKeys
我什至尝试过
var chat = $.connection.myHub;
$.connection.myHub.qs = "token=hello" ;
但它不起作用,即当我检查密钥时,令牌不存在在 AllKeys 中
如果有人帮助我,将不胜感激。
1:如果发生回发,客户端将断开连接,然后连接。 但是,当客户端再次执行连接时,它将具有与回发之前不同的连接 ID。 因此,发送到旧连接 ID 的任何消息都将丢失,因为当用户浏览器再次连接时,它将被称为不同的客户端。
2:你尝试在中心代理上设置查询字符串,而不是连接。 你应该做的是:
$.connection.hub.qs = { foo: "bar" };