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