现在的位置: 首页 > 综合 > 正文

Red5源码研究二-RTMP规范(握手)

2017年12月15日 ⁄ 综合 ⁄ 共 598字 ⁄ 字号 评论关闭
在RTMP客户端和服务器端网络层连接成功之后,第一件事情就是RTMP的握手。至于为什么要握手,协议本身没有太多的描述,我只能通过协议的内容来描述一下我理解的握手目的:从握手这个词出发,握手的主要目的就是让客户端和服务器端互相打个招呼,其主要内容应该包括看看两者是否同时理解RTMP协议本身(至少理解握手啊,呵呵)以及对RTMP协议版本的进行一个互认;至于是否理解RTMP协议本身的解决方案就是制造一些RTMP特有的数据和要求在客户端和服务器端来回折腾几次,如果折腾得顺利就算完事,不顺利,那就断绝关系吧!告诉协议版本当然在前面的折腾中顺便带上就行了。就这样,我本来就不希望把问题搞复杂,更何况不就个协议吗,有什么复杂的,重在理解。
下面我们看看具体的握手过程(抄袭协议中的一个图,我没有仔细看RTMP的授权说明,这种抄袭可能违反RTMP协议的授权申明,所以再次申明本文不能代替协议原文):

握手过程比较简单,如果开发相应的客户端或服务器端,需要理解的是S0和C0出现版本不协调时,目前以断开连接来处理;S1发送的随机数据由服务器负责生成,C1发送的随机数据由客户端负责生成,但C2发送的数据由S1的返回数据组成,S2发送的数据由C1传递的数据组成,握手就这样。
原文:http://hi.baidu.com/janins/blog/item/0856b70d39e2ba8cd1581b39.html

 

抱歉!评论已关闭.