原文地址:http://blog.csdn.net/gengxt2003/article/details/51610546
感谢原作者的贡献
代码在 handshake.h文件中,
RTMP_Connect():
RTMP_Connect1()。
RTMP_Connect0() 主要是建立Socket连接
建立RTMP连接.
在这个函数中调用了
RTMP_ReadPacket()
RTMP_ClientPacket()
第一个函数的作用是读取通过Socket接收下来的消息(Message)包,但是不做任何处理。第二个函数则是处理消息(Message),并做出响应。这两个函数结合,就可以完成接收消息然后响应消息的步骤。
RTMP_ReadPacket 接收下来的是Chunk
RTMP_ClientPacket() 是用来处理消息,根据不同的消息,做不同的调用。
case 0x01:
消息类型为0x14的消息,即消息类型ID为20的消息,是AMF0编码的命令消息,
依次调用
三个命令,
针对不同的method,处理不同的命令。
这些命令有以下这些(不完整)
- 发送connect命令使用函数SendConnectPacket()
- 发送createstream命令使用RTMP_SendCreateStream()
- 发送realeaseStream命令使用SendReleaseStream()
- 发送publish命令使用SendPublish()
- 发送deleteStream的命令使用SendDeleteStream()
- 发送pause命令使用RTMP_SendPause()
函数命名有两种规律:RTMP_Send***()或者Send***(),其中*号代表命令的名称
RTMPPacket类型的结构体定义如下,一个RTMPPacket对应RTMP协议规范里面的一个块(Chunk)。
在这里需要注意一个函数:WriteN()。该函数完成了将数据发送出去的功能。
消息ID | 功能 | 调用函数 | |
0x01 | 设置块(Chunk)大小 | HandleChangeChunkSize() | |
0x03 | 致谢 | 无函数 | |
0x04 | 用户控制 | HandleCtrl | |
0x05 | 窗口致谢大小(Window Acknowledgement Size | HandleServerBW() | |
0x06 | 设置对等端带宽(Set Peer Bandwidth) | HandleClientBW() | |
0x08 | 传输音频 | | |
0x09 | 传输视频 | | |
传输AMF3编码 | | | |
传输AMF0编码 | | | |
| | | |
| | | |
原文地址:http://blog.csdn.net/gengxt2003/article/details/51610546
感谢原作者的贡献
代码在 handshake.h文件中,
RTMP_Connect():
RTMP_Connect1()。
RTMP_Connect0() 主要是建立Socket连接
建立RTMP连接.
在这个函数中调用了
RTMP_ReadPacket()
RTMP_ClientPacket()
第一个函数的作用是读取通过Socket接收下来的消息(Message)包,但是不做任何处理。第二个函数则是处理消息(Message),并做出响应。这两个函数结合,就可以完成接收消息然后响应消息的步骤。
RTMP_ReadPacket 接收下来的是Chunk
RTMP_ClientPacket() 是用来处理消息,根据不同的消息,做不同的调用。
case 0x01:
消息类型为0x14的消息,即消息类型ID为20的消息,是AMF0编码的命令消息,
依次调用
三个命令,
针对不同的method,处理不同的命令。
这些命令有以下这些(不完整)
- 发送connect命令使用函数SendConnectPacket()
- 发送createstream命令使用RTMP_SendCreateStream()
- 发送realeaseStream命令使用SendReleaseStream()
- 发送publish命令使用SendPublish()
- 发送deleteStream的命令使用SendDeleteStream()
- 发送pause命令使用RTMP_SendPause()
函数命名有两种规律:RTMP_Send***()或者Send***(),其中*号代表命令的名称
RTMPPacket类型的结构体定义如下,一个RTMPPacket对应RTMP协议规范里面的一个块(Chunk)。
在这里需要注意一个函数:WriteN()。该函数完成了将数据发送出去的功能。
消息ID | 功能 | 调用函数 | |
0x01 | 设置块(Chunk)大小 | HandleChangeChunkSize() | |
0x03 | 致谢 | 无函数 | |
0x04 | 用户控制 | HandleCtrl | |
0x05 | 窗口致谢大小(Window Acknowledgement Size | HandleServerBW() | |
0x06 | 设置对等端带宽(Set Peer Bandwidth) | HandleClientBW() | |
0x08 | 传输音频 | | |
0x09 | 传输视频 | | |
传输AMF3编码 | | | |
传输AMF0编码 | | | |
| | | |
| | | |