即时通讯(IM)和实时通讯是一套网络通讯系统,其本质都是对信息进行转发。最大的不同点是对信息传递的时间规定。二者的区别可以从以下几个方面:

一、场景

常见的即时通讯 场景包括文字聊天、语音消息发送、文件传输、音视频播放等。通俗讲就是发短信。

常见的实时通讯 场景包括语音电话、视频电话会议、网络电话等。通俗讲就是打电话。

二、产品需求点

即时通讯: 主要要求可靠,考核送达率。假如发一条短信,结果对方没收到!你还相信短信吗?

实时通讯: 主要要求低延时和接通率。

低延时: 你打电话每说一句,对方得几秒钟才有回应,这电话你也讲不下去了吧。

接通率: 打电话时你这边显示接通了,实际上对面的手机毫无反应,就是没接通。这跟短信没送到,造成的恶劣影响是一样的。

可以参考下anyRTC的通讯技术文档,我们是覆盖全媒体的,而且我们的编解码技术在超低延时方面有很显著的效果。

三、技术环节

即时通讯技术环节: 消息发送和确认,【消息接入端、服务端消息逻辑处理,服务端消息缓存和存储,转发,服务端用户状态管理,心跳机制,消息发送端】、消息接收和确认。

实时通讯技术环节: 采集、前处理、编码、【服务端接入、转发、服务端接入】、解码、播放和渲染。这些技术环节重合的部分是:信息转发。

四、传输协议

公共互联网上,最常用的通讯协议有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就无法进行实时通讯了。

基于UDP协议,加上对丢包的情况开发了各种算法进行补偿,一方面尽量保证和恢复数据的连续性。另外一方面,当某些数据包无法恢复时,会丢弃对应的音视频数据包,而不会影响后续的实时通讯服务。

五、成本

成本涉及到的环节有:服务端接入、存储和转发。
二者成本会产生差异的环节有:

服务端 方面,从它的接入方式来看,即时通讯采用TCP协议来保证可靠性,可能会建立多个连接,相比无连接的UDP传输方式,这是一种昂贵的传输方式。实时通讯可以基于UDP协议,与服务端建立灵活的、快速的接入机制。

存储 方面,实时通讯在服务端是实时转发,不会在服务端存储数据,而即时消息系统一般会将缓存转为存储数据,包括富媒体数据,会占用大量的存储空间,产生更多的存储成本。

成本 方面,传输同样信息量的数据,基于TCP的即时通讯方式,更侧重于可靠性,会优先采用多线机房的传输方式,成本比较高。

而基于UDP的实时通讯方式,会优先选取最优路径进行传输数据,并可以动态调整传输路径,这样能够高效的利用带宽,提高传输效率,降低成本。

技术分析| 即时通讯和实时通讯的区别相关推荐

  1. 技术话题(2)实时通讯RT和同步实时通讯IRT的区别

    目前西门子 S7-1200 PLC仅支持RT通讯,与 V90 PN 连接做位置控制和速度控制均是通过PROFINET通讯来实现的. 而 S7-1500 PLC 支持IRT通讯,与 V90 PN 做位置 ...

  2. java客服im_Java IM 即时通讯 | 盘古歌技术 | uni-app 即时通讯 源码出售 chat

    即时通讯知识小科普 什么是即时通信(即时通讯) 即时通信(即时通讯)是指互联网上用以进行实时通讯的系统服务,其允许多人使用即时通信(即时通讯)软件实时的传递文字信息.文档.语音以及视频等信息流. 随着 ...

  3. PROFINET及其同步实时通讯分析

    1    概述 PROFINET实时以太网是由Profibus International(PI)组织提出的基于以太网的自动化标准.从2004年4月开 始,PI与Interbus Club总线俱乐部联 ...

  4. 通过SignalR技术整合即时通讯(IM)在.NET敏捷开发框架中落地

    1.引言 即时通讯(IM)是RDIFramework.NET敏捷开发框架全新提供的一个基于Web的即时通讯.内部聊天沟通的工具.界面美观大方对于框架内部进行消息的沟通非常方便.基于RDIFramewo ...

  5. uniapp 即时通讯_uniapp与webview的实时通讯

    [TOC] ## test.nvue > 如果调用webview的页面使用nvuew才可以实现彼此实时通讯: > nvue 调用 webview 需要手动指定宽高,不像vue页面的 web ...

  6. Android IOS WebRTC 音视频开发总结(六二)-- 大数据解密国外实时通讯行业开发现状...

    Android IOS WebRTC 音视频开发总结(六二)-- 大数据解密国外实时通讯行业开发现状 本文主要介绍国外实时通讯行业现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号b ...

  7. webim 实现实时通讯的 4 种方式

    本文前半段主要节选自:WebSocket ,后半段总结和概括自沈剑大佬的两篇文章和文章评论http如何像tcp一样实时的收消息?.网页端收消息,究竟是推还是拉?,完整参考见文末. webim 是什么 ...

  8. 行业分析| OA系统中的实时通讯

    前言 当前实时通讯市场中有QQ.MSN.网络电话以及视频会议等,同时也有各个互联网巨头推出的基于自身平台的实时通讯工具,比如,百度hi,淘宝旺旺等,相对而言其与纯粹的实时通讯工具不同,基于自身平台的实 ...

  9. 实时通讯音视频互动开发需求汇总

    实时通讯音视频互动开发需求汇总 实时通讯音视频互动开发就是通过开发一套跨平台的即时通讯音视频同步解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,整合音视频编码.多媒体通讯开 ...

最新文章

  1. python判断素数的函数_如何用python求素数
  2. 两个提高javascript执行效率的简易代码分享给大家
  3. IMDB是否提供API? [关闭]
  4. VS cmake 远程开发 opencv报错:CMake was unable to find a build program corresponding to “Ninja“.(换个构建方式)
  5. XDocument 获取包括第一行的声明(版本、编码)的所有节点
  6. 基于visual Studio2013解决面试题之0802数字最多元素
  7. AspNetCoreMassTransit Courier实现分布式事务
  8. .NET设计模式(1): 简单工厂模式
  9. oracle ogg和adg,ORACLE12C ADG和OGG的搭配使用
  10. 真的已经讲烂了!java字符串转对象
  11. 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。
  12. javascript精雕细琢(二):++、--那点事
  13. strel函数c语言写法,全国计算机等级考试二级C语言题型总结(二)——选择循环结构程序设计部分(5篇范文)...
  14. 吴恩达-deep learning 02.改善深层神经网络:超参数调试、正则化以及优化Week1
  15. [Premiere Pro]新建尺寸设置(1080*1920手机屏幕尺寸)
  16. 信息安全管理——网络安全
  17. java界面添加按钮_java界面添加按钮
  18. shepp logan matlab,怎么用MATLAB生成一个三维的Shepp-Logan头骨模型并保存下来,谢谢了...
  19. 如何制作mp3音频文件?分享制作mp3的简单方法
  20. 【BLE】TLSR8258开发记录之2--TLSR8258DK48D烧录操作说明

热门文章

  1. win版本caffe源码libcaffe研究
  2. linux下CPU主板监控工具lm_sensors
  3. JS 计算两个时间的间隔
  4. Unity3D项目三:牧师与魔鬼
  5. 网站域名被华为浏览器拦截的申诉方法
  6. SpringBoot注册为windows服务
  7. 老猿学5G:融合计费基于流计费的触发器Triggers
  8. 【C#】Color颜色对照表
  9. java数据长度_存储单位(字节)
  10. 读《Spring Boot 3核心技术与最佳实践》有感