SignalR 如何管理回发之间的连接



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" };

最新更新