使用 Blazor 向其他浏览器发送通知

Posted

技术标签:

【中文标题】使用 Blazor 向其他浏览器发送通知【英文标题】:Send notification to other browsers with Blazor 【发布时间】:2021-10-24 17:15:33 【问题描述】:

我正在编写一个 blazor 服务器应用程序。

我在页面和网格中有一个文本框+按钮。我想要做的是允许用户在 texbox 中输入一些文本。文本应添加到网格中。

我想要的是在输入新消息时自动刷新所有浏览器上的网格。

我已经尝试并设法使用信号器和信号器集线器做到这一点。它就像一个魅力。

但我想知道一些事情:Blazor 服务器在服务器和浏览器之间创建了一个信号器连接。我的信号器中心正在创建第二个信号器连接。

有没有办法在不创建第二个信号器连接的情况下做到这一点。 换句话说,有没有办法在没有信号中心的情况下向浏览器发送通知?

谢谢

【问题讨论】:

【参考方案1】:

我不知道我对你问题的看法是否正确。

我怀疑您正在尝试在客户端之间创建 直接 Signalr 连接点对点,而无需任何集中式集线器。 对吧?

如果是这种情况,我认为仅使用 Signalr 是不可能的,因为服务器维护着一个连接到集线器的客户端 ip/端口列表,并且该列表不会在客户端之间共享。

我不知道是否有任何基于 Signalr 的项目可以使 Blazor WASM 应用程序将自己暴露为服务器,以便直接接收通信来自其他 WASM 客户端,但在游戏世界中一切皆有可能!

【讨论】:

不,我不想在客户端之间创建直接信号器连接 p2p,我想为我的集线器和 blazor 使用相同的 websocket

以上是关于使用 Blazor 向其他浏览器发送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何使用nodejs向android chrome浏览器发送通知?

如何向网络浏览器发送推送通知?

有没有办法从 Google appengine 标准向网络浏览器发送推送通知? [关闭]

使用 Socket.io 和 nodejs 向用户发送更新

如何为特定用户发送浏览器通知?

使用 PHP 来自服务器端的浏览器通知