配置边缘服务器时要注意:
边缘服务器的Server.xml中的AutoDiscovery的Enable值应设为true,而源服务器恰恰相反。
如果在源服务器上放置了FLV,如:applications/appname/videos/streams,那么在边缘服务器也需要创建同样的文件夹,但不必放FLV,因为边缘服务器会将FLV从源服务器读到自己的缓存中。
客户端代码示例一:
var nc:NetConnection = new NetConnection();
nc.fpadZone = 0; // These values are based on FMS config.
nc.fpadWait = 250;
nc.fpadOnly = false;
nc.fpadPort = 67;
nc.onStatus = function(info){
if(info.code == “NetConnection.Connect.Success”){
createStreamObject();
}
}
nc.connect(”rtmp://80.12.20.8/mySite/videos”);
客户端代码示例二:
var nc:NetConnection = new NetConnection();
nc.fpadZone = 0; // default is 0.
nc.fpadWait = 250; // in milliseconds
nc.fpadOnly = false; // boolean. true/false
nc.fpadPort = 67; // Target port to broadcast
nc.fpadInfo.ip = edgeip; // only available if proxy is detected
nc.fpadInfo.port = edgeport; // only available if proxy is detected.
在上面的代码中:
fpadInfo只有在侦测到边缘服务器的时候可用,可以在onStatus函数中利用trace输出,FP会根据fpadInfo.ip和fpadInfo.port重新构造连接,如果边缘服务器和源服务器配置错误的话,该信息会帮助你检测错误所在。
fpadPort是可以被更改的,如果目标FMS边缘服务器正在侦听其它端口而不是67的话。
fpadWait是响应时间,如果超时没有边缘服务器响应的话,它将直接连接到源服务器。
注意源服务器的AutoDiscovery不能开启,否则客户端将无法连接到源服务器。
配置如下:
Server.xml -> AutoDiscovery -> Enable : true //开启FPAD(flash代理自动侦测连接)
Server.xml -> AutoDiscovery -> ProxyInfo:edgeserverip:port //IP和端口指的是边缘服务器的IP和端口,这里设置的IP和端口将被客户端用来重新构造连接字符串。端口通常为1935。 Vhost.xml -> Proxy -> Mode : remote //将该服务器设置为边缘服务器。
Server.xml -> AutoDiscovery -> AllowZone : 0 //默认为0
Server.xml -> AutoDiscovery -> MyZone : 0 //默认为0
Server.xml -> AutoDiscovery -> BindInfo : :67 // 67端口是FMS侦听的默认端口,它是DHCP的端口
配置完成后,该边缘服务器就可以侦听来自FP的连接了。
MyZone可以设成任意值,比如,MyZone和AllowZone都设成8,那么它将只允许客户端FP广播fpadZone=8,默认的fpadZone=0就不能连接该边缘服务器了。
布署边缘服务器的好处有三:一是将源服务器上的连接分发给边缘服务器可以减轻源服务器的负担;二是将数据缓存到边缘服务器,可以节约企业内部的带宽;三是可以协助某个组织在WEB代理服务器群中布署FMS边缘服务器。