开发人员

轻松实现实时通信:Webhooks 和 WebSockets 使用指南

如何利用 Webhooks 和 WebSockets 构建使用 Zoom 基于视频的通信解决方案的应用程序和集成。
4 阅读分钟数

更新日期 January 26, 2023

发布日期 January 25, 2023

WebSockets and webhooks

什么是 Webhooks 和 WebSockets?

由于 Webhooks 和 WebSockets 可提供重要的事件通知服务,它们已成为现代应用程序的关键组件。 Webhooks 和 WebSockets 允许您实时接收 Zoom 账户中的事件通知。 还支持应用程序对更改或更新作出即时响应。 不过,我们建议您先了解 Webhooks 和 WebSockets 之间的主要差异(例如,执行的简易程度、传输速度、可靠性和架构等因素),再决定哪个更适合您的用例。

WebHooks 和 WebSockets 的对比

协议和执行的简易程度

Webhooks 使用 HTTP 协议,而 WebSockets 使用 WebSocket 协议(ws 或 wss)。 因此,Webhooks 通常仅需一个端点 URL 即可接收 HTTP POST 请求,更易于执行。 WebSockets 的设置则较为复杂,包括获取访问令牌和连接到服务器。

传输速度

WebSockets 采用双工通信通道,因此传输速度通常比 Webhooks 更快。 WebSockets 还能在客户端和服务器之间建立单一连接,无需其他 HTTP 请求即可实时交换数据。 与 Webhooks 相比,WebSockets 的持久连接可以加快事件通知的传输速度,提高资源使用效率。

可靠性

在评估基于事件的通信方案时,可靠性至关重要。 发生事件时,Webhooks 会向特定的 URL 发送通知。 但是,如果端点存在问题,事件通知可能无法得到妥善处理。 相反,WebSockets 可与服务器保持持久连接,从而加强了通信的稳定性和可靠性。

架构

Webhooks 基于推送(push)模型。发生事件时,Zoom 会将通知推送到端点。 WebSockets 则基于拉取(pull)模型。发生事件时,客户端会与服务器建立连接,然后接收通知。 

无状态与有状态

Webhooks 属于无状态组件,这意味着每个事件通知都是独立的,并拥有该事件的所有必要信息。 WebSockets 属于有状态组件,这意味着客户端和服务器之间保持持久连接,并且可以在整个连接生命周期中共享状态信息。

用例

Webhooks 可能更适用于只需接收少量事件通知的应用。 假设您的市场应用需要在用户创建、更新或删除会议时接收通知。 在此情况下,Webhooks 能够起到很好的效果,因为您的应用只需接收少量的事件通知(如,会议相关事件的通知)。 设置一个简单的端点即可通过 Webhooks 接收通知,这比执行 WebSockets 更加高效。

而 WebSockets 适用于银行、金融和医疗保健等行业的开发应用。 一方面,在执行 Webhooks 时,开发人员需要花更多精力确保端点安全,比如验证请求将 IP 列入白名单等; 另一方面,由于 WebSockets 可在客户端和服务器之间直接建立连接,因此增强了安全性,并降低了中间人攻击的风险。 另外,WebSockets 的连接更可靠,因为只有在连接处于打开状态时才会传输数据,并且在开发人员关闭连接之前将一直保持打开状态。 更有意思的是,只有使用访问令牌才能打开 Zoom WebSockets 的连接,而访问令牌由创建 WebSockets 订阅的应用生成,并且一次只有一个连接可以保持打开状态。 与 Webhooks 相比,WebSockets 的主要优势之一便是支持实时、低延迟的通信,这对那些重视实时更新的用例来说是必不可少的。 

打造迷人体验的必备工具

WebSockets 和 Webhooks 支持无缝且高效的更新,具有低延迟、低成本和可扩展的特点,是构建交互式 Web 应用程序的必备工具。 Zoom 利用这些技术打造迷人且直观的用户体验。 无论您构建的是客户互动式应用还是监控系统,要充分发挥应用功能,事件通知器起着至关重要的作用。 

为了帮助您入门,我们编制了 WebhooksWebSockets(测试版)文档。 填写此表格,即可注册 WebSockets 测试版,抢先使用此全新功能。

客户对我们赞誉有加

Okta
Nasdaq
Rakuten
Logitech
Western Union
Autodesk
Dropbox
Okta
Nasdaq
Rakuten
Logitech
Western Union
Autodesk
Dropbox

Zoom - 单一平台,连接无碍