当用户加入并重新加入群组时,我能够立即收到通知。 我不知道我在这里做错了什么,但是当用户离开时我无法收到通知。
以下是在客户端启动集线器的代码。
$.connection.hub.start();
以下是我用来停止连接的内容。
$.connection.hub.stop();
停止似乎没有断开用户连接,因此我无法更新组中的其他用户并从会话中删除该连接。
要回拨的客户端代码
$.connection.hub.proxies.collaboratorhub.client.joined = function (connectionId) {
//
console.log('joined : ' + connectionId);
};
$.connection.hub.proxies.collaboratorhub.client.joined = function (connectionId) {
//
console.log('Re joined : ' + connectionId);
};
$.connection.hub.proxies.collaboratorhub.client.gone = function (connectionId) {
//
console.log('gone : ' + connectionId);
};
这是服务器端的c#代码。
public override Task OnConnected()
{
string pid = this.Context.QueryString["pid"];
Groups.Add(this.Context.ConnectionId, pid);
return Clients.Group(pid).joined(Context.ConnectionId);
}
public override Task OnDisconnected()
{
string pid = this.Context.QueryString["pid"];
Groups.Remove(Context.ConnectionId, pid);
return Clients.Group(pid).gone(Context.ConnectionId);
}
public override Task OnReconnected()
{
string pid = this.Context.QueryString["pid"];
return Clients.Group(pid).rejoined(Context.ConnectionId);
}
加入和重新加入工作完美,但不是断开连接。
我在这里缺少什么?