RTMP中的Ping消息

Ping消息是最神秘的RTMP控制消息之一,至今都还没有完全破译。这里只给出已知参数意义,参考的是rtmpdump开源项目的文档。
Ping消息参数包括2个指定的控制参数,以及2个可选的参数。第一个参数是Ping的类型,占2个字节;第二个参数是Ping的接收方的StreamID,这里是由于Ping包的包头的StreamID一般都填0,当然,在一些特定的Ping中,第二个参数也可以做其他用途;第三和第四个参数是可选的附加信息。
不同的Ping类型有不同的含义和参数选择:

a)         type 0:清空流。没有第三个第四个参数,第二个参数可以是0。一般在建立连接之后,Server端会发一个Ping 0,0给Client端。Server在Play开始以及为了响应Seek、Pause和Resume操作也可能发送Ping 0,0。这个Ping消息告诉Client根据Server发送的下一个RTMP包重新校准时间。

b)         type 1:清空播放缓冲。

c)         type 3:报告Client端缓冲的时间,第三个参数是缓冲的时间,单位是millisecond。

d)         type 4:重设一个流。这个Ping一般会和type 0的Ping一起使用,而且一般在type 0之前发送。

e)         type 6:探测消息(Ping),由Server发送给Client,第二个参数是当前的时间。

f)          type 7:响应消息(Pong),Client响应Server的探测消息,第二个参数是当前的时间。

g)         type 26:SWFVerification请求。

h)     type 27:SWFVerification响应。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ANEnd2006/archive/2010/04/08/5460957.aspx

你可能感兴趣的:(RTMP中的Ping消息)