即时通信(IM)和实时通信(RTC)的区别
即时通信(IM=nstant messaging)和实时通信(rtc=Real-time communication)都是一套网络通信系统,其本质都是对信息进行转发。其最大的不同点,是对信息传递的时间规定。二者的区别可以从以下几个方面:
一、场景
- 即时通信
常见场景包括文字聊天、语音消息发送、文件传输、音视频播放等。通俗的说,就是发短信。
- 实时通信
场景包括语音、视频电话会议、网络电话等。通俗的说,就是打电话。
二、要求
- 即时通讯
主要要求可靠,考核送达率。要是你发一条短信,结果丢了,对方没收到!你再也不相信短信了吧。
- 实时通信
主要要求低延时和接通率。
- 低延时:你打一通电话,每说一句话,对方得几秒钟才有回应,这电话你也讲不下去了吧。
- 接通率:你打电话,你这边听到接通了,实际上对方的手机毫无反应,这实际上就没接通。
三、技术环节
- 即时通信
消息发送和确认,【消息接入端、服务端消息逻辑处理,服务端消息缓存和存储,转发,服务端用户状态管理,心跳机制,消息发送端】、消息接收和确认。
- 实时通信
技术环节:采集、前处理、编码、【服务端接入、转发、服务端接入】、解码、播放和渲染。
这些技术环节重合的部分是:信息转发。
四、传输协议
公共互联网上,最常用的通信协议有TCP、UDP。
- TCP:Transmission Control Protocol,传输控制协议是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。有延迟不可控的特点。
- UDP:User Data Protocol,用户数据报协议,是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。 存在丢包、抖动、延迟的特征。
即时通信系统为了保证连接的可靠性,最常用的是TCP协议或者类TCP连接协议。这类协议的特点是追求连接的可靠性,而造成了延迟的不可控性,超过2秒的延迟响应是常态,甚至几十分钟的延迟响应,而电信级的实时通信标准是400ms,而基于互联网的实时通信需要另辟蹊径,开创出新的传输解决方案。发短信,延迟几秒钟送达,对使用者影响不大。
实时通信,一般采用 UDP 作为基础传输协议。在设计低延时的实时通信服务时,UDP 表现要比 TCP 好得多。这是因为实时通信中,低时延比可靠性更重要。打电话,几秒的延迟是不能忍受的。
TCP协议封装了消息的重传机制,在丢包的情况下,采用TCP协议的应用程序几乎无法优化这个重传机制,来达到低时延的效果。特别是在移动互联网络中,超过30%丢包时,TCP 的延时可以到几十分钟, 超过 50%丢包时,甚至很容易断开。 在同样丢包30%的链路上,UDP还可以传输数据,TCP就无法进行实时通信了。
五、成本
成本涉及到的环节有:服务端接入、存储和转发。
二者成本会产生差异的环节有:
- 从服务端接入方式来看,即时通信采用TCP协议来保证可靠性,可能会建立多个连接,相比无连接的UDP传输方式,这是一种昂贵的传输方式。实时通信可以基于UDP协议,与服务端建立灵活的、快速的接入机制。
- 存储方面,实时通信在服务端是实时转发,不会在服务端存储数据,而即时消息系统一般会将缓存转为存储数据,包括富媒体数据,会占用大量的存储空间,产生更多的存储成本。
- 从成本上来看,传输同样信息量的数据,基于TCP的即时通信方式,更侧重于可靠性,会优先采用多线机房的传输方式,成本比较高;
- 而基于UDP的实时通信方式,会优先选取最优路径进行传输数据,并可以动态调整传输路径,这样能够高效的利用带宽,提高传输效率,降低成本。
六、可用的解决方案
- 即时通信:XMPP,MQTT
- 实时通信:WebRTC、Tokbox
免费的im与rtc示例:https://github.com/starrtc/android-demo
即时通信(IM)和实时通信(RTC)的区别相关推荐
- 即时通信和实时通信的区别
即时通信(im)和实时通信(声网Agora.io)都是一套网络通信系统,其本质都是对信息进行转发.其最大的不同点,是对信息传递的时间规定.二者的区别可以从以下几个方面: 一.场景 常见的即时通信场景包 ...
- 【新知实验室 - TRTC 实践】音视频互动 Demo、即时通信 IM 服务搭建
一.TRTC 初识 TRTC 是什么 TRTC(Tencent RTC)腾讯实时音视频,源自于 QQ 音视频团队,是基于 QQ 音视频多年来的音视频技术积累,位于腾讯云的 RTC 云服务.TRTC 支 ...
- 视频会议系统EasyRTC常见的几种架构方式及应用场景:MCU/SFU、视频会议、应急指挥、即时通信
我们这里常说的RTC可以理解为WebRTC技术,因为WebRTC技术是目前使用最广泛的即时通信技术,虽然在早期我们提到WebRTC.提到视频通话就会想到P2P的方式,但实际的视频通话方式背后的逻辑有很 ...
- WebSocket 实现 Web 端即时通信
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 前言 WebSocket 是HTML5开始提 ...
- Ricochet —— 基于 Tor 的加密即时通信工具
Ricochet 是一个基于 Tor 的加密即时通信工具 Ricochet 是个与众不同的实时通信,不相信你的验证,你的联系列表和你的通信. 无需暴露你的认证(IP 地址)给任何人就可以进行聊天 没有 ...
- 微信小程序-腾讯云即时通信 IM 小程序直播(一)
一.这里我们先讲讲使用腾讯云直播 流程 请先将1.2.3的都去简单的过一遍 就是组件的参数了解一下 1.准备推流跟拉流地址 (登录腾讯云在控制台 在直播工具箱 找到创建推流跟拉流)推流跟拉流的地址是不 ...
- [Web端接入经验分享] 腾讯云即时通信TIM、实时音视频TRTC
[Web端接入经验分享] 腾讯云即时通信TIM.实时音视频TRTC 即时通信TIM官网地址 即时通信TIM SDK API文档地址 实时音视频TRTC官网地址 实时音视频TRTC SDK API文档地 ...
- [译] 什么是即时通信(Instant Messaging)
您的孩子在用它,您的同事们在用它,但是您是否尝试过即时通信呢? 在在家玩电脑的孩子,以及工作的人们当中,即时通信已成为十分流行的交流方式.Gartner组织预测,自2004年起,将有60%的实时通信会 ...
- 前端如何实现即时通信?
一.ajax短轮询 短轮询的原理很简单,每隔⼀段时间客户端就发出⼀个请求,去获取服务器最新的数据,⼀定程度上模拟实现了即时通讯. 1.优点:兼容性强,实现非常简单. 2.延迟性高,非常消耗请求资源,影 ...
最新文章
- LeetCode-动态规划基础题-62. 不同路径
- 学习笔记(二十二)—— 了解进程和线程
- tensorflow基本概念
- luov之windows 常用端口详解
- 小程序开发实战学习笔记
- IsNull 和 SQL语句中CASE WHEN用法
- Golang 学习资料
- Opencv——灰度变换、直方图均衡化
- C++ 多态性之虚函数抽象类纯虚函数
- Spring bean注入之constructor-arg注入和property注入的区别
- 计算机继电保护书籍,计算机继电保护的发展
- 【转载】Excel中批量填充公式有5个方法
- 沪深300指数的跟踪基金最近1年收益排名
- 超详细的新手8周跑步入门训练计划(从走跑开始)
- Linux高清壁纸软件,十个小众的 Linux 桌面软件
- ic 卡获取帐号apdu指令_发送获取银行卡卡号的APDU命令
- 芯昇,XS5013,ISP+TX,模拟高清,AHD
- 功率谱密度的一个小理解
- 6D姿态估计算法汇总
- @Transactional注解用法