一次仅向一名用户(而非频道)实时推送更新。怎么做?

2023-11-22

我正在创建一个网络应用程序/网站,其中我的服务器将向客户端推送一些信息的实时更新(使用 Pusher api)。

因此,当服务器将更新推送到该 CHANNEL 时,订阅该 CHANNEL 的用户就可以收到更新。

但是,(由于我的应用程序的性质)一次应该只有一个用户接收实时更新。换句话说,更新实际上不是针对特定的频道,而是针对特定的用户。

我目前的解决方案是: 每个通道仅允许一名用户,因此针对该通道的更新是针对该一名用户的。假设我有 500 个用户,那么我需要有 500 个频道。 这需要建立很多渠道。这会影响性能吗?

还有更好的办法吗?

===============

应用背景

该应用程序的目的是接收有关灾难的报告,并指派最近的机构来接管和处理情况。每个机构都将是系统的用户(将获得一个用户名)。 当服务器收到报告时,最近的(只有一个)用户(来自提交报告的位置)将收到来自服务器的实时通知。


目前,除了每个用户都有一个频道之外,没有其他方法可以向用户发送消息。

我当前的解决方案是:每个频道仅允许一名用户,因此针对该频道的更新适用于该一名用户。假设我有 500 个用户,那么我需要有 500 个频道。这需要建立很多渠道。这会影响性能吗?

这听起来与您现在使用的解决方案完全相同,例如频道和用户可以通过频道名称唯一标识:

<user_name>-notification

由于通道只是一种路由机制,因此拥有大量通道并没有真正的开销;当然500不会有任何问题。

我假设你正在使用私人频道确保只有允许的用户才能订阅他们的频道。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一次仅向一名用户(而非频道)实时推送更新。怎么做? 的相关文章

  • Pusher 未定义! Laravel 5.4 与 Laravel Echo

    我不知道我的代码有什么问题 这是我的app js First we will load all of this project s JavaScript dependencies which include Vue and Vue Reso
  • 使用 Google 地图轨迹 API

    我必须开发一个车辆跟踪系统 我已经完成了 Google Map API 和 Google Map Tracks API 教程 IE Google 地图 API 网络 https developers google com maps docu
  • Spring Integration 通道统计指标

    不知怎的 我没有捕捉到 Spring Integration Metrics 内容 我想要的是关于每秒有多少消息通过消息通道 最小和最大吞吐量是多少的统计输出 如果我使用newTicketChannel getSendRate 然后我变成以
  • 词法作用域是否可以实现硬实时?

    我正在读书关于 funarg 问题 这实际上是维护词法闭包环境的问题 这是一篇旧论文 我不确定作者的结论是否仍然成立 但他强烈暗示 为了拥有词法作用域而不是动态作用域 你必须放弃传统的 C 风格堆栈 而采用树结构环境 从堆分配 这是否使得在
  • 处理大量rtsp摄像头,无实时限制

    问题定义 假设我有大量 rtsp 摄像机 gt 100 我想对其执行一些操作 例如图像特征提取 重要提示 我对实时性能不感兴趣 我什至可以在一分钟内进行 4 次特征提取 显然 越多越好 As now 瓶颈是图像采集 帧是通过以下方式获取的c
  • 如何在 Python OpenCV 中读取 TIFF 图像的 Alpha 通道?

    我想使用 Python OpenCV 从 tiff 图像中读取 alpha 通道 我正在使用 Enthought Canopy 和 OpenCV 2 4 5 3 模块 我按照 OpenCV 网站的教程使用 cv2 imread 但它似乎不起
  • 如何在 Django 中使用 Pusher?

    我正在尝试使用 Pusher 和 django 构建一个应用程序 我浏览了一些链接 例如https github com pusher django pusherable https github com pusher django pus
  • 什么是“实时”

    我无法决定是否将我的应用程序分类为 实时 或 接近实时 甚至可能是其他类别 该软件立即接收从源生成的数据 然后根据某些规则 在满足某些条件时发出警报 它采用每30秒检查最后30秒数据的方法来查看是否满足规则的标准 那是实时的吗 实时与准实时
  • iOS / C:检测音素的算法

    我正在寻找一种算法来确定实时音频输入是否与 144 个给定 且完全不同的 音素对之一匹配 最好是完成这项工作的最低级别 我正在为 iPhone iPad 开发激进 实验性音乐培训软件 我的音乐系统包含 12 个辅音音素和 12 个元音音素
  • 客户端(android 应用程序)确认发送的 gcm 消息

    Android 应用程序可以通过 googleclougmessaging send 向 ccs 服务器获取发送的 gcm 消息的确认吗 客户端如何确定消息是否已传送到 ccs 服务器 根据云连接服务器文档 从设备向云发送消息时唯一的确认是
  • Flink 中的水印和触发器有什么区别?

    我读到 排序运算符必须缓冲它接收到的所有元素 然后 当它接收到水印时 它可以对时间戳低于水印的所有元素进行排序 并按排序顺序发出它们 这是正确 因为水印表明不能有更多元素到达并与已排序元素混合 https cwiki apache org
  • 与 Julia 实时绘图

    我正在尝试绘制一个与 Julia 一起实时演化的函数 为此 当我尝试完全应用给定的示例时 我发现 GR 包可以在 Julia 中使用here https pgi jcns fz juelich de pub doc anim html im
  • WOWZA + RTMP 在多个设备上播放?

    我仍然是 Wowza Streaming 的新手 但是当我设置所有内容 RHEL Wirecast 时 我可以以某种方式从我的家用电脑流式输出 广播到 EC2 服务器 正如我按照 Wowza Live Streaming 教程 我使用RTM
  • 渠道有什么用?

    在查看一些 Go 代码时 我发现了以下内容 ch make chan int 我在在线教程中查找了 Go Channels 的工作原理 https tour golang org concurrency 2 https tour golan
  • Laravel 事件超出 Pusher 允许的限制

    我的 Laravel 应用程序中有一个事件 对于特定记录 它超出了 Pusher 允许的最大限制 10240 字节 Laravel 序列化 Event 类上的每个公共属性是否正确 如果是这样 我怀疑序列化模型不应超过 10kb 限制 但无论
  • 如何使用 mpsc 通道在线程之间创建环形通信?

    我想生成 n 个能够与环形拓扑中的其他线程通信的线程 例如线程 0 可以向线程 1 发送消息 线程 1 可以向线程 2 发送消息 等等 线程 n 可以向线程 0 发送消息 这是我想用 n 3 实现的示例 use std sync mpsc
  • 集成 Android Firebase 应用程序的推送通知

    我们正在构建一个实时聊天应用程序 供企业与消费者联系 目前我们正在使用 Firebase https www firebase com https www firebase com 作为原型的后端 它似乎工作正常 然而 我们在推送通知方面遇
  • 仅使用视频标签实时流式传输到 HTML5(不带 webrtc)

    我想将实时编码数据包装到 webm 或 ogv 并将其发送到 html5 浏览器 webm 或 ogv 可以做到这一点吗 Mp4 由于其 MDAT 原子而无法做到这一点 无法实时将h264和mp3打包并发送给客户端 假设我正在从网络摄像头输
  • 使用服务器发送事件进行双向客户端-服务器通信(而不是 WebSocket)的缺点

    最近 我发现服务器发送事件是 WebSocket 的一种更简单的替代方案 用于从服务器进行推送 大多数比较它们的地方 例如here https stackoverflow com questions 5195452 websockets v
  • 嵌入式+实时开发培训的建议[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在学习嵌入式实时工程职业 但发现找到好的培训材料有些困难 特别是因为您无法像桌面应用程序开发那

随机推荐

  • C# 中的 Powershell 命令

    我正在尝试查询 root CIMV2 命名空间中所有 WMI 类的名称 有没有办法使用 powershell 命令在 C 中检索此信息 沿着基思的方法 using System using System Management Automat
  • 为什么我的安装项目无法执行我的自定义注册过程

    我正在尝试为我使用 Visual Studio 2008 用 C 编写的类库驱动程序编写一个安装项目 安装程序 该驱动程序项目有一段代码如下所示 ComRegisterFunction public static void Register
  • Zend_Form 在模型视图控制器范式中适合什么位置

    The Zend框架主要用于 MVC 使用 非常有用的组件之一是Zend Form 我在寻找 Zend Form 的位置时遇到了一些麻烦 它是视图 模型还是控制器的一部分 我应该赋予它哪些职责 事实是 Zend Form 做了两件事 装饰和
  • Git:有没有办法找出提交是从哪里挑选出来的?

    如果我从多个分支中进行挑选 是否有一种简单的方法可以找出提交来自哪里 例如原始提交的 sha Example 在主分支 从开发分支挑选提交 A A 在 master 分支变成 D Before B master Feature Y C de
  • PMD 插件因 Java 14 失败:不支持的 targetJdk

    我正在尝试将带有 PMD 插件的 pom xml 文件集成到构建阶段 PMD版本3 13 0 甲骨文JDK 14
  • XML 和 ASP:检索并解析远程文件

    我正在启用 ASP 的 Windows Server 上构建一个网站 我需要从另一台服务器检索 XML 文档并返回该文档中的值 xml 文件很小 只有一个带有文本值的节点 我只需要返回该文本值 我以前从未使用过 ASP 谷歌搜索让我找到了一
  • 何时使用桥接模式以及它与适配器模式有何不同?

    有没有人用过桥纹在现实世界的应用程序中 如果有 你是如何使用它的 是我 还是只是适配器模式加入一点依赖注入 它真的值得拥有自己的模式吗 有一个组合费德里科的 and John s答案 When Shape Rectangle Circle
  • 地理位置:仅移动谷歌地图标记而不重新加载地图

    我只需要在设备移动或设备变得更加准确时更新标记 当位置改变时也会重新加载地图 我只需要移动制造商 我有以下代码 if navigator geolocation navigator geolocation watchPosition fun
  • jQuery 3D 轮播?

    有人看过像这样的 jQuery 3D 轮播教程吗 http web enavu com demos 3dcarouselwip 没有给出来源 但想知道是否有人有关于如何连续圈定 DIV 并调整其大小的提示 它看起来不是真正的 3D 但会根据
  • 在R中调用特定的列名

    colnames 为我提供了整个数据框的列名称 有没有办法获取一个指定列的名称 在 ggplot 中绘制数据时 我需要这个来命名标签 所以说我的数据是这样的 df1 lt data frame a sample 1 50 10 b samp
  • 关于注释的自定义 Eclipse 警告

    假设我有一个内部方法 它应该只在某些情况下使用 在 Eclipse 中 是否有可能将其标记为内部并在使用时显示警告 以防止我或使用我的 API 的人在不知道自己在做什么的情况下错误地使用它 我无法更改它的可见性 因为它也可能在其他包 非扩展
  • 如何使用 SSIS 从平面文件中删除重复行?

    首先我要说的是 能够从平面文件中获取 1700 万条记录 推送到远程机器上的数据库并花费 7 分钟 这真是太神奇了 SSIS 确实太棒了 但现在我已经有了这些数据 如何删除重复项呢 更好的是 我想获取平面文件 从平面文件中删除重复项 然后将
  • Jersey + HK2 + Grizzly:注入EntityManager的正确方法?

    我已经成功地在 Jersey HK2 和一个普通的 GrizzlyServer 中设置了我自己的服务类的注入 到资源类中 基本上遵循这个例子 我现在很好奇将 JPA EntityManager 注入我的资源类中最好的方法是什么 我目前正在考
  • 如何判断 32 位 int 是否适合 16 位 Short

    仅使用 lt lt gt gt 我需要找出有符号的 32 位整数是否可以表示为 16 位二进制补码整数 我的第一个想法是将 MSB 16 位和 LSB 16 位分开 然后使用掩码来处理最后 16 位 这样如果它不为零 则无法表示 然后使用该
  • 根据 JVM 内存粒度确定数组的最佳大小

    当为 例如 集合创建支持数组时 您并不真正关心您创建的数组的确切大小 它只需要至少与您计算的一样大 但由于内存分配和 VM 的数组头 在某些情况下可以创建一个更大的数组而不消耗更多内存 对于 Oracle 32 位 VM 至少互联网上的几个
  • 如何确定为什么我的 Android 应用程序需要某些权限?

    假设我接手了一款 Android 应用程序的开发 我的老板问我为什么我们的应用程序需要某些权限才能向在 Android Market 上购买该应用程序的用户显示 是否有任何工具或技巧可以用来确定哪些代码触发每个权限 以便我可以弄清楚为什么我
  • 在 iPad 上播放 HTML5 视频并查找

    非常奇怪的错误我似乎无法弄清楚 我试图让 HTML5 视频在用户点击播放时从某个位置播放 我试图让它在视频开始播放时正确寻找 在我的游戏活动中我会this currentTime X 在浏览器上它工作正常 但在 iPad 上 当我播放视频时
  • 如何保护自己免受可能无限期挂起的脆弱库调用的影响?

    假设您发现自己不幸地依赖于一个表现不佳的库 您的代码需要调用 FlakyClient call 但有时该函数最终会挂起一段不可接受的时间 如下所示 解决此问题的一种方法是将调用包装在自己的调用中Process 并使用超时参数join方法来定
  • 我如何摆脱呼叫 __x86.get_pc_thunk.ax

    我尝试将一个非常简单的 C 程序编译并转换为汇编语言 我使用的是 Ubuntu 操作系统类型是 64 位 这是C程序 void add int main add return 0 如果我使用 gcc S m32 fno asynchrono
  • 一次仅向一名用户(而非频道)实时推送更新。怎么做?

    我正在创建一个网络应用程序 网站 其中我的服务器将向客户端推送一些信息的实时更新 使用 Pusher api 因此 当服务器将更新推送到该 CHANNEL 时 订阅该 CHANNEL 的用户就可以收到更新 但是 由于我的应用程序的性质 一次