Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 信号器-通知同一台计算机上的所有客户端(应用程序)_Asp.net Core_Signalr - Fatal编程技术网

Asp.net core 信号器-通知同一台计算机上的所有客户端(应用程序)

Asp.net core 信号器-通知同一台计算机上的所有客户端(应用程序),asp.net-core,signalr,Asp.net Core,Signalr,我问题的简短版本 是否可以利用信号器基于连接端点发送通知(使用套接字连接作为bradcast标识符) 长的那个… 同一台计算机上的2个客户端(应用程序)连接到asp.net核心通知后端(基于signal)。 一个应用程序向同一台计算机上的所有其他应用程序广播。 如果启动了另一个应用程序(来自同一个“家族”),它也会收到通知。这些应用程序是完全解耦的,并根据它们运行的机器进行绑定。 由于IP地址在网络绑定应用程序后面可以相同,所以使用IP地址不是一个选项 感谢您的时间和努力您可以生成特定于设备的令

我问题的简短版本

是否可以利用信号器基于连接端点发送通知(使用套接字连接作为bradcast标识符)

长的那个…

同一台计算机上的2个客户端(应用程序)连接到
asp.net核心
通知后端(基于
signal
)。 一个应用程序向同一台计算机上的所有其他应用程序广播。 如果启动了另一个应用程序(来自同一个“家族”),它也会收到通知。这些应用程序是完全解耦的,并根据它们运行的机器进行绑定。 由于IP地址在网络绑定应用程序后面可以相同,所以使用IP地址不是一个选项


感谢您的时间和努力

您可以生成特定于设备的令牌并将其作为集线器方法参数传递

正确加密的MAC地址是一种选择(我不建议以明文形式传递您的MAC地址,因为这非常危险)

之后,您可以基于这些唯一的设备令牌创建组,并在组内发送消息

hub方法类似于:

public async Task OnEnterSession(string deviceToken)
{
    await Groups.AddToGroupAsync(Context.ConnectionId, deviceToken);
}
您可以通过调用以下命令发送面向设备的消息:

await Clients.Group(deviceToken).SendAsync("clientSideServerCallback", args);

我是从Azure通知中心Android SDK得到这个想法的。我相信您的场景在某种程度上与将通知推送到移动设备相称。

这不是必需的,因为每个客户端在连接到signalr时都会生成一个唯一的connectionid。@Karney。我不明白你的评论-我怎么知道两个客户端在同一台机器上?我不知道这两个客户端是否进行固定交易。如果是这样,您可以在连接时记录他们的ID。谢谢您的回复。我会检查一下,然后回复