Signalr 仅在2个连接之间发送信号器消息

Signalr 仅在2个连接之间发送信号器消息,signalr,asp.net-mvc-5,Signalr,Asp.net Mvc 5,我在试信号员,我有个问题 例如,我知道它是如何工作的,我可以做一个简单的聊天,但我感兴趣的是如何在两个人之间创建对话 例如,是的,我可以知道2个ppl连接ID并向其发送消息,但如果其他ppl向这些连接ID发送消息,则不是chat 1 vs 1 我想要的是一个只容纳2个ppl的空间,所以连接id user 1和连接id user 2。这样,如果用户3无法获得发送到同一连接的消息 更多信息: 假设一个用户可以向另一个用户发送消息,但另一个用户可以脱机,因此每个用户配置文件上都有一个按钮,因此当用户(

我在试信号员,我有个问题

例如,我知道它是如何工作的,我可以做一个简单的聊天,但我感兴趣的是如何在两个人之间创建对话

例如,是的,我可以知道2个ppl连接ID并向其发送消息,但如果其他ppl向这些连接ID发送消息,则不是chat 1 vs 1

我想要的是一个只容纳2个ppl的空间,所以连接id user 1和连接id user 2。这样,如果用户3无法获得发送到同一连接的消息

更多信息:

假设一个用户可以向另一个用户发送消息,但另一个用户可以脱机,因此每个用户配置文件上都有一个按钮,因此当用户(我)决定向用户(你)发送消息时,我将转到他的页面并单击发送消息

然后一个窗口打开,连接开始。所以,在connected上,我要做=>Group.Add(Context.ConnectionId,ME)这样我就可以发送消息,如果用户脱机,我会将它们保存到数据库中,但如果用户在,他会得到通知,他会转到页面,单击“发送消息”,打开相同的窗口,所以这个用户(您)加入了组(ME),并且连接良好。但如果(我)关闭了窗口并断开了连接,用户(你)发送消息,用户(我)收到通知并在窗口中运行,现在他会说Group.Add(…,YOU),但用户YOU仍然在组ME中

所以我不知道这是否清楚,但这样我就无法维持同一组…:/在这方面会有复杂性:(


连接的方法…我不能向那里发送任何类型的参数等,基本上你可以加入你自己的组

是的,我考虑过,但我有一个问题,用户如何知道组名?我的意思是你无法知道组是否已经存在,因为它不是真正的聊天。有一个消息,当你点击它时,你就加入了。。。您可以使用数据库跟踪哪些文件室存在以及文件室中有哪些用户。例如,如果我可以这样做,但即使在方法OnConnected()上,我也无法传递任何参数……如何指定用户必须加入的组?您可以让您的客户机调用自定义中心方法,可能称为“初始化”或“加入”,可以获取所需的任何参数。您还可以在OnConnected中读取查询字符串参数: