我正在为我正在从事的项目寻找 SignalR,它似乎正是我想要的。然而,我仍然有点困惑的是团体和加入。
我将尝试首先描述实现的上下文。因此,现有系统中的用户将希望就给定主题举行会议,然后将创建一个具有给定名称/标识符的房间,然后他们将邀请其他人加入其中,然后它基本上就像一个私人聊天室。
所以我假设的步骤是作为主持人,创建一个房间并加入它,然后发出邀请,要求用户点击它会以某种方式告诉服务器加入哪个房间。
现在我从文档中看到有一个 Join and Disconnect 方法,您可以使用它来将某人加入一个组,但是似乎 Join 除了查询字符串之外没有与之关联的上下文,所以我有点困惑至于触发联接的原因,正如我所期望的那样,它将是客户端上的手动触发方法,传递一些对象,提供有关将它们放入哪个房间的上下文,因为您可能有数百个私人房间。
那么如何为 Join 方法提供一些上下文和断开连接,以便他们知道您请求加入哪个房间,就好像它不是手动触发的一样,您如何设置查询字符串,如果是手动触发,为什么可以您不会发送自定义对象。IE
public Task Join()
{
var groupName = Context.QueryString["some-room-identifier"];
return Groups.Add(Context.ConnectionId, groupName);
}
对比
public Task Join(string groupName)
{
return Groups.Add(Context.ConnectionId, groupName);
}
那么我是否遗漏了什么,或者有什么方法可以为加入的用户提供上下文,以便第一次将他们放在正确的位置?