zoukankan      html  css  js  c++  java
  • RTMPT

    转自http://www.openred5.com/bbs/viewthread.php?tid=196

    英文原地址:http://www.joachim-bauch.de/tutorials/red5/SPEC-RTMPT.html/view

    等一段时间后我也去整理一个出来,因为现在还没有用到rtmpt,只用到rtmp和rtmpe,所以没有时间去研究。

    译:RTMPT协议说明书

    SPEC-RTMPT_zh_CN.txt

    RTMPT协议说明书
    ===================================

    :author:    Joachim Bauch
    :contact:   mail@joachim-bauch.de
    :date:      2006-03-23
    :copyright: `Creative Commons License (by-sa)`__

    __ http://creativecommons.org/licenses/by-sa/2.5/

    翻译:屹砾(www.OpenRed5.com#glseda)
    联系:glseda@qq.com
    日期:2007-06-17

    译者的话:
    Red5的资料有点乱,没有什么头绪。但是把这些资料翻译成中文多少会有一些帮助,即使有时翻译的内容也不是那会容易看懂。如果大家有时间,也希望能够选择一些资料翻译出来,然后发布到OpenRed5中文社区http://www.OpenRed5.com,让我们大家共同进步。

    概述
    --------
    此文档描述RTMPT通道协议在Red5开源FLASH服务器上的实现。请注意:此文档不是Macromedia官方规范说明书,但是可以帮助人们开始使用RTMPT开发软件。

    RTMPT基本上是一个RTMP协议的HTTP包装。它发送POST请求从客户端到服务端。因为HTTP连接是非持久性的,RTMPT需要客户端获得周期性的更新,顺序的得到从服务端或其它客户端产生的事件通告。

    在一个RTMPT会话周期,下面描述四个可能会发送到服务端的请求类型。

    URLs
    ----
    URL以以下形式打开:
       
        http://server/<comand>/[<client>/]<index>

    `<command>`
      指示RTMPT请求类型。
    `<client>`
      指定执行请求的客户端编号(只发送已确定的会话)
    `<index>`
      是一个连续的数字,好象是用于侦测丢失的包。

    请求/响应(Request / Response)
    ------------------
    所有的HTTP请求共享一些公用属性:

      - 使用HTTP 1.1 POST。
      - 内容类型为`application/x-fcs`。
      - 连接会保持活动,这样客户端和服务端会减少网络开销。

    HTTP响应也共享一些属性:

      - 内容类型为`application/x-fcs`.
      - 所有已确定会话的响应数据的首字节控制客户端检测间隔时间,更高的值表示较少的检测请求。
    (译注:polling,检测,可能翻译得不够准确)

    检测间隔时间(Polling interval)
    ----------------
    在数据返回后,服务器会以0x01开始,在10次空的回复之后自动增长这个值。最大的延时是0x21,在两次请求之间的延时大约在0.5秒左右。

    Red5通常按下列步骤增长延时:
    0x01, 0x03, 0x05, 0x09, 0x11, 0x21.

    初始化连接(命令"open")
    --------------------------------
    这是首次请求,会顺序的发送到服务器,注册一个客户端并开始一个新的会话。服务器回复一个惟一的ID(通常是一个数字)给客户端,以便于之后的请求。

    注意:回复不会包含检测间隔时间值。成功的连接会重设连续索引以用于URL。

    客户端更新(命令"send")
    -------------------------------
    从客户端发送到服务器的数据会加一个HTTP头作为RTMP的前缀(译注:即RTMPT)。

    如果有效的话,服务器响应以HTTP响应,包含一个字节的控制检测间隔时间和RTMP数据,。

    检测请求(命令"idle")
    ---------------------------------
    如果客户端没有包含更多的数据发送到服务器,他可以检测更新,会收到流数据或事件,例如共享对象。


    断开会话连接(命令"close")
    -----------------------------------------
    如果客户端希望终止连接,他可以发送close命令到服务器,服务器会回复0x00。
  • 相关阅读:
    HDU 4611 Balls Rearrangement 数学
    Educational Codeforces Round 11 D. Number of Parallelograms 暴力
    Knockout.Js官网学习(简介)
    Entity Framework 关系约束配置
    Entity Framework Fluent API
    Entity Framework DataAnnotations
    Entity Framework 系统约定配置
    Entity Framework 自动生成CodeFirst代码
    Entity Framework CodeFirst数据迁移
    Entity Framework CodeFirst尝试
  • 原文地址:https://www.cnblogs.com/k1988/p/2165698.html
Copyright © 2011-2022 走看看