FluorineFx RTMP服务的配置

在进行FlourineFx 的RTMP配置的时候憋了我一天,怎么配都配不对~  还好最终还是搞定了~ 下面记录下来 以免忘记。

1.服务器端

首先在services-config.xml文件中

<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
        <endpoint uri="rtmp://{server.name}:8866" class="flex.messaging.endpoints.RTMPEndpoint"/>
      </channel-definition>

 

这一个节点指定了RTMP通道的入口,uri的写法是rtmp://{server.name}:8866  这里的server.name在程序运行的时候会变成你自己的机器名字,然后8866是端口号。

在你的网站下面需要新建一个apps文件夹   该文件夹下面放的是rtmp应用  可以是多个

image

每个rtmp应用下面都有一个叫app.config的配置文件。该文件的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- Application object. Specify a fully qualified type name for your handler -->
  <application-handler type="TorrentsService.ChatApp"/>
</configuration>

这样就指定了对于对该应用的请求由谁来处理。

 

这样就完成了服务器端的配置,运行网站 然后在命令行下用命令(netstat -na)查看是否成功。如果成功的话会有一个上面指定的8866的tcp端口处于监听状态,就等着客户端连接进去了~

image

2.客户端

客户端就简单了,Flexbuilder的编译参数配好了-services之后(-services "E:\..\web\WEB-INF\flex\services-config.xml")

直接用NetConnection类的实例进行连接就是了

            private var nc:NetConnection;
        
            public function init():void
            {
                nc = new NetConnection();
                //连接rtmp服务,传递参数(用户名、密码)
                nc.connect("rtmp://sps-010:8866/ChatApp","admin","admin");
                nc.addEventListener(NetStatusEvent.NET_STATUS,onStatusHandler);//对连接状态进行处理
                nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, netSecurityError);
                nc.client = this;
            }

注意NetConnection的connect方法里的第一个参数rtmp应用的路径的写法,rtmp://sps-010:8866/ChatApp  后面的都是参数了。

连接成功之后我们再来命令行看看~

image

更多更详细的请参考Bēniaǒ老师的blog  http://www.cnblogs.com/beniao/category/172407.html

posted @ 2010-02-04 17:29  千禧牛  阅读(1961)  评论(1)    收藏  举报