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应用 可以是多个
每个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端口处于监听状态,就等着客户端连接进去了~
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 后面的都是参数了。
连接成功之后我们再来命令行看看~
更多更详细的请参考Bēniaǒ老师的blog http://www.cnblogs.com/beniao/category/172407.html
浙公网安备 33010602011771号