3

1> 只是想了解 SignalR 1.x 在特定场景中的功能

假设我们有 10 个客户端连接到 Hub,其中一个连接的客户端说 client-1 执行回发,所以调用 OnDisconnected 比调用 OnConnected 对吗?

如果在此阶段,如果客户端 2 尝试在所述场景之间准确地向客户端 1 发送消息,即(在客户端 1 断开连接后和再次连接之前发送消息)客户端 1 会错过消息或存在内部机制,会发生什么情况这确保客户端 1 不会错过客户端 2 发送的消息

2> 我的第二个查询是我正在尝试使用以下代码传递查询字符串

 var chat = $.connection.myHub;
            $.connection.myHub.qs = { "token": "hello" };

但无法使用 Context 对象在服务器端检索它

Context.QueryString.AllKeys

我什至试过

 var chat = $.connection.myHub;
            $.connection.myHub.qs =  "token=hello" ;

但它不起作用,即当我检查密钥时,AllKeys 中不存在令牌

如果有人帮助我,将不胜感激。

4

1 回答 1

1

1: 如果发生回发,客户端将断开连接然后连接。但是,当客户端再次执行连接时,它将具有与回发之前不同的连接 ID。因此,任何发送到旧连接 ID 的消息都将丢失,因为当用户浏览器再次连接时,它将被称为不同的客户端。

2: 您尝试在集线器代理上设置查询字符串,而不是连接。你应该做的是:

$.connection.hub.qs = { foo: "bar" };
于 2013-11-04T02:53:10.507 回答