文章插图
WebRTC 的3个主要缺点
- 尽管 WebRTC 是一种点对点技术 , 您仍然需要管理 Web 服务器并为其付费 。为了使两个对等点相互对话 , 您需要使用信令服务器来建立、管理和终止 WebRTC 通信会话 。在一对多的 WebRTC 广播场景中 , 您可能需要一个 WebRTC 媒体服务器来充当媒体中间件 。
- WebRTC 非常占用 CPU , 尤其是在处理视频内容和大量用户时 。这使得使用和扩展 WebRTC 应用程序成本高昂且困难重重 。
- WebRTC 很难上手 。您需要探索和掌握大量概念:各种 WebRTC 接口、编解码器和媒体处理、网络地址转换 (NAT) 和防火墙、UDP(WebRTC 使用的主要底层通信协议)等等 。
WebRTC的peerjs库可以用于快速实现Peer-to-peer通信!4.WebSocket的优缺点4.1 WebSocket 优势在 WebSocket 出现之前 , AJAX 长轮询和 Comet 等 HTTP 技术是构建实时应用程序的标准 。与 HTTP 相比 , WebSocket 无需为每个请求建立新连接 , 从而大大减少了每条消息的大小(无 HTTP Header) 。与 HTTP 相比 , 这有助于节省带宽、改善延迟并减少服务器端的 WebSockets 负担 。
作为一种事件驱动技术 , WebSocket 允许在无需客户端主动请求的情况下传输数据 。在客户端需要对事件(无法预测的事件 , 例如欺诈警报)做出快速反应的情况下有优势 。
4.2 WebSocket 缺点
- WebSocket 是有状态的: 这可能很难处理 , 尤其是在规模上 , 因为它需要服务器层跟踪每个单独的 WebSocket 连接并维护状态信息 。
- 当连接终止时 , WebSockets 不会自动恢复:这就是存在许多 WebSocket 库的部分原因 。
- 代理服务器的公司网络:会阻止 WebSocket 连接 。
WebSocket 在 TCP 上工作 , 而 WebRTC 主要在 UDP 上 。当数据完整性至关重要时 , WebSocket 是更好的选择 , 因为您可以从 TCP 的底层可靠性中获益 。而 , 如果速度更重要并且丢失一些数据包是可以接受的 , WebRTC是更好的选择 。
WebRTC 主要设计用于流式传输音频和视频内容 。也可以使用 WebSockets 流式传输媒体 , 但 WebSocket 技术更适合使用 JSON 等格式传输文本/字符串数据 。
5.1 什么时候使用 WebRTC?WebRTC 是以下用例的不错选择:
- 音频和视频通信
- 文件共享
- 屏幕共享
- 直播活动
- 物联网设备(例如 , 无人机或婴儿监视器流式传输实时音频和视频数据)
- 实时更新:其中通信是单向的 , 服务器正在将低延迟(频繁的)更新流式传输到客户端 。
- 双向通信 , 客户端和服务器都发送和接收消息 。包括聊天、虚拟活动等 。WebSockets 还可用于支持多用户同步协作功能 , 例如多人同时编辑同一文档 。
需要牢记的关键一点:WebRTC 不提供标准的信令实现 , 允许开发人员为此目的使用不同的协议 。WebSocket 协议通常用作 WebRTC 应用程序的信号机制 , 允许对等点实时交换网络和媒体元数据 。6.总结本文重点论述了WebRTC 、WebSocket协议 , 两者的异同、使用场景、以及何时可以组合使用 。关于WebRTC、WebSocket , 笔者已经编写过至少3篇文章进行了重点论述 , 如果有需求可以直接点击文末的资料即可 。
参考资料WebRTC已成为HTML5标准?是时候开始学习了?
HTTP、WebSocket、gRPC 或 WebRTC:哪种协议最适合您的应用程序?
推荐阅读
- 一种从未见过的恶意软件感染了成百上千的Linux和Windows设备
- 为 Python 写一个 C++ 扩展模块
- Python破解24点游戏
- 为什么Java线程没有Running状态?
- AIGC会是下一个万亿级AI风口吗
- 国外大学生用AI写论文,还次次拿到A
- 大年初一吉祥话简短的朋友圈 大年初一吉祥话简短的
- 冒险岛雪人谷怎么去 冒险岛雪人谷
- 三峡发电量占全国发电量 三峡发电量
- 上面三个火下面一个木怎么读 上面三个火下面一个木