感觉还是挺复杂的,握手很简单,握手过程中有下面几种数据:C0 C1 C2 S0 S1 S2
首先是连接上服务器,然后发送C0+C1过去,C0是版本号,设置为{3} C1则是时间戳字节集+4位随机字节集(默认设置{0,0,0,0})+1528位随机字节集
然后服务器会发送S0+S1+S2过来,S0和C0一样 是版本号,S1则是服务器发来的校验数据,S2和C1的数据大致相同
然后把C2发送给服务器就完成了握手了,C2=S1
难的是下面的AMF0数据的组包和解包,有兴趣的老哥们可以自己去看看有关rtmp的标准文档
源码文件名 | 模块文件名 | ||
---|---|---|---|
rtmpClient.e |
|
源码文件名 | 支持库文件名 | 支持库标识 |
---|---|---|
rtmpClient.e | 系统核心支持库 5.3 | d09f2340818511d396f6aaf844c7e325 |
特殊功能支持库 3.1 | A512548E76954B6E92C21055517615B0 | |
HP-Socket 5.51 | {E96EAAB1-7FB3-4ba0-9ED1-F36C2079385F} | |
通用对象支持库 2.0 | {A068799B-7551-46b9-8CA8-EEF8357AFEA4} | |
E2EE互联网服务器套件2.2.3 2.0 | AA50CDD5A14C4C5DB81BAE05DE4DDE6D | |
应用接口支持库 3.1 | F7FC1AE45C5C4758AF03EF19F18A395D | |
多线程支持库 2.0 | 5F99C1642A2F4e03850721B4F5D7C3F8 |