red5
whycold
这个作者很懒,什么都没留下…
展开
-
RTMP,两次握手
<br />RTMP真正完成握手操作是分两步:<br />一、建立连接,SOCKET接收到长度为1537byte的数据,注意1536是握手的关键值<br />HandshakeSize = 1536;<br />ByteBuffer hs = ByteBuffer.Allocate(2 * HandshakeSize + 1);<br />hs.Put(0×03);<br />hs.Fill((byte)0×00, HandshakeSize);<br />context.Stream.Get();// s转载 2010-12-05 20:48:00 · 950 阅读 · 0 评论 -
使用 Apache MINA 开发高性能网络应用程序[转]
<br />本文将通过一个简单的问候程序 HelloServer 来介绍 MINA 的基础架构的同时演示如何使用 MINA 开发网络应用程序。<br />Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供转载 2010-12-19 19:45:00 · 904 阅读 · 0 评论 -
RTMFP协议
RTMFP是Adobe公司开发的一套新的通信协议,该协议可以让使用Adobe Flash Player的终端用户之间进行直接通信。用Adobe AIR框架开发的程序也可以用此协议来发布直播、实时信息。 通过使用RTMFP, 那些以来直播、实时通信的应用,比如社区、音视频聊天和多人游戏就有能力来发布高质量的通信解决方案。RTMFP让终端用户可以直接连接并通信,可以使用麦克风和摄象头直接聊天。RTMFP将不支持文件和文档共享。此方案提升了目前Flash Player在网络交互方面的体验。 RTM转载 2011-01-15 15:22:00 · 3625 阅读 · 0 评论 -
red5的常用方法
<br /><br />在使用red5+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户端用户上线。当用户下线的时候,也是同样的需要red5的支持。 我在开发的时候是使用red5 0.8的版本。 下面详细介绍一下具体的实现。 ApplicationAdapter是客户端与red5连接的基础 ...<br />在使用red5+flash做rpg游戏开发的时候有些功能是转载 2011-01-15 16:56:00 · 2675 阅读 · 0 评论 -
Red5下的room
<br /><br />package com.test;<br />import java.util.ArrayList;<br />import java.util.HashMap;<br />import java.util.Iterator;<br />import java.util.List;<br />import org.red5.server.adapter.ApplicationAdapter;<br />import org.red5.server.api.IClient;<b转载 2011-01-15 16:57:00 · 2745 阅读 · 0 评论 -
转几篇Red5的日志配置
<br /><br />按这几篇文章配置,基本上就能搞定了。<br />一、第一篇中文的,开始。。。。<br />首先不能完全 按照log4j的配置去搞log4j.properties,因为他们是用 log4j+slf4j 搞在一起的<br />在 classes下面要有个logback-myapp.xml的文件,里面配置<br /><?xml version=”1.0″ encoding=”UTF-8″?><br /><configuration><br /> <appender name=”R转载 2011-01-15 17:00:00 · 5242 阅读 · 0 评论 -
Red5 AMF3 Flex : Data Type Mappings
<br /><br />site : http://xinsync.xju.edu.cn/index.php/archives/1321<br />Flash Codecs - AMF, AMF3, RTMP, FLV<br />Data Type Mappings<br />Flash/FlexJavaNumberany of the Java numeric typesint/uint *any of the non-floating point Java numeric typesString转载 2011-01-15 17:03:00 · 1912 阅读 · 0 评论 -
RTMPT 协议
<br /><br />一、 概述 <br /> RTMPT 协议是HTTP协议的扩展,Adobe的Flash Player和media server支持。RTMPT的命令基本都是用来控制网络连接的持久性的。在HTTP1.0的年代里,所有的HTTP请求都是建立一个网络连接,发出请求,得到回应,然后网络连接断开。在后来web世界变得越来越拥挤的时候,这个情况逐渐明显地成为一个性能话题,因此随着HTTP1.1标准的制订,HTTP的请求的网络连接就变成了默认情况下是持久性的长连接。<br />RTMPT用命令转载 2011-01-21 20:48:00 · 1893 阅读 · 0 评论 -
AMF,RTMP,RTMPT,RTMPS 简介
<br /> 1. AMFAMF(是Action Message Format的缩写)是在flash和flex中与远程服务端交换数据的一种格式.它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据时,通常都采用这种格式。AMF 1 诞生于Flash Player6,发展到现在已经变成了了AMF3 2. RTMPRTMP是Real-Time Messaging Protocol(实时消息传送协议)的缩写,它是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有转载 2011-02-15 22:50:00 · 1511 阅读 · 0 评论 -
什么是AMF?AMF0和AMF3
<br /><br />最近由于工作需求,对amf做了一些了解,此前对flash相关的技术用的太少,以至于n年前提出来的amf协议都不曾过耳。。 – -#<br />以下是关于amf的一篇文章。<br />Flash Remoting的核心技术——AMF<br />AMF是什么?它的优点中是什么?Flash Remoting为什么选择了使用AMF而放弃了SOAP与Flash 播放器通信呢?<br />Flash 5开始就可以以XML或者“变量/值”配对输出格式向服务器传送数据。虽然这些数据能通过转载 2011-02-15 22:32:00 · 3873 阅读 · 0 评论 -
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三)
<br /><br />最后我们再看看NIO方面最著名的框架Mina,抛开Mina有关session和处理链条等方面的设计,单单挑出前端网络层处理来看,也采用的是与Jetty和Tomcat类似的模式,只不过它做了些简化,它没有隔开请求侦听和请求处理两个阶段,因此,宏观上看它只分为两个阶段。<br />先看看它的类图:<br /><br />其中:<br />SocketAcceptor起线程调用SocketAcceptor.Work负责新连接侦听,并交给SocketIoProcessor处理<br />So转载 2011-02-20 22:35:00 · 962 阅读 · 0 评论 -
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(一)
如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看看三者是如何使用NIO的。Jetty Connector的实现先看看有关类图:其中:SelectC转载 2011-02-20 22:31:00 · 828 阅读 · 0 评论 -
Apache MINA 从1.x到2.x的一些改变
<br /><br />在Apache MINA 2.x中提供了新的API,并且有一部分不能向前兼容,这主要是一些处理复杂的部分,这里只介绍一下不兼容的内容,因为大部分还是兼容的。<br />1 ThreadModel已经被移除<br />ThreadModel最初是为了简化应用预定义的线程模型到IoService的处理的。然而,配置线程模型因为简单而引入很多构造来,这样其产生的混乱多于其易用性了,所以移除。<br />2 IoService配置简化<br />在1.x中,IoService以及其子接口转载 2010-12-19 21:36:00 · 1175 阅读 · 0 评论 -
RTMP协议
RTMP协议封包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4, 1 byte(s).完整的RTMP包头应该是12bytes,包含了时间戳,AMFSize,AMFType,StreamID信息, 8字节的包头只纪录了时间戳,AMFSize,AMFType,其他字节的包头纪录信息依次类推 。包体最大长度默认为128字节,通过chunkSize可改变包体最大长度,通常当一段AFM数据超过128字节后,超过128的部分就放到了其他的RTMP封包中,包头为一个字节.完整的12字节RTM转载 2010-12-12 12:50:00 · 1262 阅读 · 0 评论 -
Red5 API 之 IConnection 接口的理解
该接口为网络连接(connection)对象的总接口。每一个网络连接对象都要包含一个客户端(Client)对象和域(Scope)对象。这些网络连接可以是持续连接、轮询连接或者即时性连接。该接口的目的就是要为这些不同类型的连接提供一个基本的网络连接方法。<br />嵌套类<br />IConnection.Encoding<br />public static enum Encoding {<br />AMF0,<br />AMF3<br />};<br />主要描述AMF编码的两种类型AMF0,AMF3。<转载 2010-12-05 20:50:00 · 1423 阅读 · 0 评论 -
Red5-ShareObject
ShareObject 主要用途SharedObjects (SOs) 主要用于多客户端的实时数据同步和方法统一调用。SharedObject 是一个远程的对象能够被多个客户端共享,也就说这些客户端在同一个域(scope)里面。 什么是 scope?你可以把scope 当作一个聊天室,这个聊天室是通过URI 链接到服务器例如:rtmp://localhost/red5test/lobby"red5test" 是application 域(scope) "lobby" 是聊天室作用域,也即 "red5t转载 2010-12-05 20:52:00 · 875 阅读 · 0 评论 -
RED5的API介紹-1
RED5的API介紹-1时间:2010-04-01 21:39来源:未知 作者:温莎 点击: 245次org.red5.server.adapter.ApplicationAdapter 这一个类别是RED5中最基本也最重要的类别,是用在当flash用new NetConnetion,当执行connect()时,处理相关连线资料的类别。 在这个类别内,有几个比较值得org.red5.server.adapter.ApplicationAdapter这一个类别是RED5中最基本也最重要的类别,是用在当flas转载 2010-12-05 20:58:00 · 3390 阅读 · 1 评论 -
RED5的API介紹-4
org.red5.server.net.rtmp.* 我们可以利用此类别让java程式透过rtmp协定与Red5沟通 这可以做到让tomcat得以透过java在http协定与rtmp协定之间传资料 此相关类别的范例使用程式经我努力的寻找, 终org.red5.server.net.rtmp.*我们可以利用此类别让java程式透过rtmp协定与Red5沟通这可以做到让tomcat得以透过java在http协定与rtmp协定之间传资料此相关类别的范例使用程式经我努力的寻找,终於在red5官方网站的讨论区找到了X转载 2010-12-05 21:00:00 · 2971 阅读 · 0 评论 -
red5 Scopes and Contexts 作用域 上下文
<br />“Scopes ”和“Contexts”是开发red5重要概念。<br /> <br />利用red5创建的任何应用常常都和“application”有关,applications 是建立在flash 客户端和red5 服务之间以任何形式交互的基础和基本概念。术语 "application" 来源于 Flash Media Server (FMS), Adobe 研发用于和 flash 客户端通信的软件。 red5 使用更复杂模式来处理flash 客户端的请求,red5 使用类似于搭积木组合方式转载 2010-12-05 21:04:00 · 1500 阅读 · 0 评论 -
关于RED5——配置文件详解
<br /> Red5 是建立在Jetty6(servlet engine) , Mina (networking)基础之上的,并通过使用Spring框架将起整合起来的.因此我们需要有一些配置文件.我们可能的通过载入properties 文件来简化配置,因此用户不需要深入了解XML.该文档就是要新手们去熟悉这些配置文件,其中一些需要改动,一些不必关心.<br />Jetty Config<br />----------------------------------<br />一、/conf/jetty.x转载 2010-12-05 21:05:00 · 1166 阅读 · 0 评论 -
AS3与Red5之间的参数传递
<br />参数传递是最基本的,之前是AS2,现在用AS3与Red5 0.63/0.7了,几乎没什么变化.不过Flash/Flex这边的可以传递的参数也就多了一些.就基本的是 String,int,Number,Boolean,Array,对应到red5这边是String,int,double,boolean,List<br /><br />/**<br />* @(#)ParamRed5.as<br />* @author soda.C<br />* @version 1.0<br />*<br />Co转载 2010-12-05 21:13:00 · 841 阅读 · 0 评论 -
Spring源代码解析
<br /><br />Spring源代码解析(一):Spring中的事务处理 <br />http://www.gbsou.com/2009/08/11/212.html2<br />Spring源代码解析(二):ioc容器在Web容器中的启动 <br />http://www.gbsou.com/2009/08/11/214.html3<br />Spring源代码解析(三):Spring JDBC <br />http://www.gbsou.com/2009/08/11/217.html4<b转载 2010-12-05 21:48:00 · 932 阅读 · 0 评论 -
Red5中的调用与回调
<br />在red5中,服务端Application类需要实现IApplication接口,默认的做法是继承ApplicationAdapter,<br />ApplicationAdapter实现了很多接口,它提供一些典型的代码,使我们只需要重写关注的方法,<br />客户端 -> 服务端调用<br />客户端由NetConnection的实例发起调用,定义如下:<br />public function call(command:String, responder:Responder, ... arg转载 2010-12-05 20:42:00 · 1202 阅读 · 0 评论 -
RED5的API介紹-3
org.red5.server.api.service.IServiceCapableConnection 我们可以在此撰写此一连线(NetConnection)的侦听状态 下面為一个范例程式: import java.util.Iterator; import org.red5.server.adapter.ApplicationAdapter; import orgorg.red5.server.api.service.IServiceCapableConnection我们可以在此撰写此一连线(NetC转载 2010-12-05 20:56:00 · 1026 阅读 · 0 评论 -
RED5的API介绍-2
org.red5.server.api.scheduling 这是一个需要被实作的介面,我们可以实作此一介面, 并在此撰写每隔一段时间要自动执行的程式码。 在此package下有两个class, IScheduledJob与ISchedulingService 以下org.red5.server.api.scheduling这是一个需要被实作的介面,我们可以实作此一介面,并在此撰写每隔一段时间要自动执行的程式码。在此package下有两个class,IScheduledJob与ISchedulingServ转载 2010-12-05 20:59:00 · 1911 阅读 · 0 评论 -
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)
下面再来看看Tomcat是如何使用NIO来构架Connector这块的。先看看Tomcat Connector这块的类图:其中:NioEndpoint负责组装各部件Acceptor负责监听新连接,并把连接交给PollerPoller负责监听所管辖的channel队列,并把请求交给SocketProcessor处理SocketProcessor负责数据处理,并把请求传递给转载 2011-02-20 22:33:00 · 868 阅读 · 0 评论