我正在编写一个应用程序(非正式地)替换adobe air中的客户端,他们使用RTMP作为连接协议,我必须创建自己的类来实现它:<
据我所知,RTMP属于TCP协议,但我是否必须首先建立TCP连接/握手,然后进行RTMP握手?
或者忽略了TCP握手,TCP头只用于传输RTMP握手/数据吗?
亲切的问候。
答案 0 :(得分:3)
建立TCP连接,然后立即进行RTMP握手,即从发送C0开始,然后转到S0,C1,S1,C2,S2。一旦收到后者,RTMP握手就完成了。祝你好运RTMP,你需要它。
答案 1 :(得分:1)
RTMP是你建议的TCP。有趣的是,不仅控制命令而且媒体数据都通过TCP发送。与按预期使用UDP的RTSP不同。还有一些库可以做你想做的事情。我觉得有趣的一个是用php编写的 - http://code.google.com/p/php-rtmp-client/。
您还需要使用AMF,这是使用RTMP命令编码的二进制格式。维基百科有一篇很好的文章和一些像AMFPHP那样的解析器
答案 2 :(得分:0)
万一有人在Google上找到像我一样的解决方案,我发现我的http://www.fluorinefx.com/。无需担心握手或任何事情。这一切都整齐地包裹着:)