`
izuoyan
  • 浏览: 8933211 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RTMP协议中未公开的类型为0x1F(31)的ping

阅读更多

众所周知,adobe的RTMP的ping类型公开的类型为(0~7),被人破解的有0x1A和0x1B类型分别是swfverification服务器端请求和客户端回应。

但是今天我在调试rtmpdump时收到了类型为0x1F
ping,并且在收到此ping后数据立即断掉,再也没有任何数据。
452.549 KB (20.8%)
DEBUG: RTMP_LIB::CRTMP::HandlePing, received ping. type: 31, len: 6
00 1F 00 00 00 01

ERROR: RTMP_LIB::CRTMP::ReadN, RTMP recv error 998

ERROR: RTMP_LIB::CRTMP::ReadPacket, failed to read RTMP packet header

DEBUG: zero read!

WARNING: Download may be incomplete (downloaded about 20.8%), try --resume!
Closing connection... done!

在网上找了半个上午,也有一个人是遇到了此种类型的ping,但是没有找到解决办法。

我回想一下,昨天无论是在RTMP还是在RTMPE的下载测试中都没有遇到此ping,那么就是一些语句出了问题,使用排除法,发现如果不向服务器发送ping类型为3(设置缓冲区)的消息时到一定时间后就会出现此ping,那么我推测此ping是由于服务器端认为发送的数据已经超过客户端的缓冲区了,就向客户端提出警告,如果得不到回应就断掉数据。

然后我屏蔽掉ping类开为3的消息发送代码,在处理ping类型为0x1F的消息时,再次发送设置buffer的消息,这样下载流程就正常了,嘿嘿,俺也破解了rtmp的一小小部分。不过只是推测,没有严格验证仅供参考。

2010/3/8 追加:

项目代码成熟后我发现,这个ping跟bufferlength消息没有必然的联系,因为我在多次下载中还是接收到这个消息,但是我没有继续设置bufferLength,结果下载也是正常的。

分享到:
评论

相关推荐

    rtmp 协议规范 中文版

    rtmp的协议规范,中文版的,学习RTMP协议的好资源。

    Rtmp协议中文介绍

    Rtmp协议中文介绍

    RTMP协议规范中文翻译

    RTMP协议,RTMP协议完整的中文翻译手册,便于学习RTMP协议

    RTMP协议(中文)详解以及规范

    流媒体协议:RTMP协议(中文)详解 流媒体协议:RTMP协议(中文)详解 流媒体协议:RTMP协议(中文)详解

    RTMP协议官方文档

    RTMP协议官方文档 文档为英文版,从官方网站下载,希望对你有帮助

    RTMP协议中文.pdf

    Adobe公司的实时消息传输协议,RTMP协议官方说明文档,中文翻译。主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信

    RTMP协议中AMF的定义.pdf

    《RTMP协议中AMF的定义》,原名《TheAMF》英文版本。 内容简介: The AMF object is used for the sending and receiving of all video/audio data. After the initial handshake, all objects sent use the AMF ...

    RTMP协议基础知识

    RTMP协议基础知识RTMP 全称Routing Table Maintenance Protocol(路由选择表维护协议) 在 AppleTalk 协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在 AppleTalk 路由器中建立...

    RTMP 协议下载C++实现

    RTMP协议Adobe刚刚开放,实现代码很少,C++实现也稀少,发一个给大家共享。RTMP 协议下载C++实现。

    rtmp协议.pdf

    讲解RTMP实时传输消息协议 希望对开发RTMP相关程序的人有用处

    rtmp协议规范(中文翻译)

    详细的RTMP的协议介绍,包括RTMP的交互过程和报文的详细构成。

    Rtmp协议中文介绍.pdf

    Rtmp协议中文介绍,这是中文版的,很适合学习,讲的很详细。

    rtmp中文协议1.0.pdf

    rtmp中文协议1.0.pdf

    rtmp协议规范中文版本

    详细描述了RTMP协议握手创建过程,以及各种操作命令。

    RTMP头RTMP协议封包 参考Red5.

    RTMP协议封 包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4, 1 byte(s).完整的RTMP包头应该是12bytes,包含了时间戳,AMFSize,AMFType,StreamID信息, 8字节的包头只纪录 了时间戳,AMFSize,AMFType...

    RTMP协议详解

    RTMP协议详解,原创分享PPT

    rtp协议往rtmp协议转换

    这是一篇论文,描述了如何从rtp协议往rtmp协议转换的实现细节和意义。

    RTMP协议规范1.0

    RTMP协议规范中文版翻译,RTMP协议学习入门资料。

Global site tag (gtag.js) - Google Analytics