计算机网络学习 - RTMP协议

一、概述

        RTMP协议是(Real Time Message Protocol)实时消息传输协议的缩写。基于TCP,是一个协议族,包括:

  • RTMP基本协议,工作在TCP之上,默认使用端口:1935
  • RTMPE变种协议,在RTMP的基础上增加了加密功能。
  • RTMPT变种协议,封装在HTTP请求之上,可穿透防火墙。
  • RTMPS变种协议,类似RTMPT,增加了TLS/SSL的安全功能。

二、握手

        建立一个RTMP连接,需要进行握手:

  • 客户端向服务器发送C0、C1、C2(按序)三个chunk。
  • 服务器向客户端发送S0、S1、S2(按序)三个chunk。

        然后才能进行有效的信息传输。RTMP协议本身并没有规定这6个Message的具体传输顺序,但是实际实现需要保证:

  • 客户端要等收到S1后才发送C2。
  • 客户端要等收到S2后才发送其他消息(控制信息和实际音视频数据)。
  • 服务器要等收到C0后才发送S1。
  • 服务器要等收到C1后才发送S2。
  • 服务器要等收到C2后才发送其他消息(控制信息和实际音视频数据)。

        实际实现中为了保证握手的身份验证功能的基础上尽量减少通信次数,一般的发送顺序是这样的:
| 客户端 | 服务器 |
| - - - - - C0 + C1 - - - -> |
| <- - - S0 + S1 + S2 - - - - |
| - - - - - - - - C2 - - - - - - -> |

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值