[AS3]AS3下FMS用户计费设计源代码示例
一个B/S的用户在线计费系统代码.用到Flash Media Server作服务器,使用rtmp协议来保持客户端的连接。实现了被动计费(从客户端开始连接到断开连接的时间)和主动计费
一个B/S的用户在线计费系统代码.用到Flash Media Server作服务器,使用rtmp协议来保持客户端的连接。
实现了被动计费(从客户端开始连接到断开连接的时间)和主动计费(从客户端开始连接到服务器主动验证客户端的连接时间)两种方式
需要保证Web服务端与FMS的链接安全,这个比较容易实现,IP策略就可以。也可以在FMS向Web服务端提交验证的页面做一个来路检测。
main.asc 代码 //Flash客户端连接FMS服务器后执行
- application.validate = function(data,p_client){
- p_client.s = new Date();//记录首次访问时的系统时间。
- p_client.key = data;//用户凭证,我在这里面放的是一段加密凭证,由Flash从客户端提交
- var my_lv = new LoadVars();
- my_lv.onLoad = function( success )
- {
- if(success)
- {
- if(this.key)
- {
- application.acceptConnection(p_client);
- }
- else
- {
- application.rejectConnection(p_client);
- }
- } else
- {
- application.rejectConnection(p_client);
- }
- };
- my_lv.load("http://cuplayer.com/validate.aspx?data=" + p_client.key + "&c=" );
- //通过这个页面解密
- }
//Flash客户端断开FMS服务器后执行
- application.disconnect = function(p_client){
- var c = Math.round((new Date() - p_client.s)/1000);//这里是为了计算连接的秒数
- var my_lv = new LoadVars();
- my_lv.onLoad = function( success )
- {
- //需要FMS处理的代码
- };
- my_lv.load("http://xxx.com/validate.aspx?data=" + p_client.key + "&c=" + c +"&e=");
//C 为客户端连接的秒数- }
- application.onConnect = function(p_client,p_key)
- {
- application.validate(p_key,p_client);
- }
- application.onDisconnect = function(p_client)
- {
- application.disconnect(p_client);
- }
//为了防止FMS服务或WEB服务出现异常,采用轮询的方式主动计费,以防止客户端出现未计费现象
//(这个方法的原则是保证FMS主动检测时间到客户端开始时间的费用已计算)
- online = function () {
- for (var i = 0; i<application.clients.length; i++) {
- if (application.clients[i].ping()) {
- //cuplayer.com提示:如果客户端还存在连接
- var my_lv = new LoadVars();
- var server_time = new Date();
- my_lv.load("http://xxx.com/validate.aspx?data=" +
- application.clients[i].key + "&live=" + server_time +"&e=");//
- } else {
- application.disconnect(application.clients[i]);
- }
- }
- };
- setInterval(online, 6000);
- //检测时间间隔根据具体情况而定,时间越短,服务请求越多
热门文章推荐
- [FMS]Adobe FMS产品(Adobe Flash Media Server)使用介绍(组图)
- [FMS]Flash Media Server之教程附示例代码
- [RTMP]国产RTMP/HLS直播服务器simple-rtmp-server
- [WOWZA]用wowza流媒体服务器发布和播放直播流(RTMP)
- [RTMP]又一款rtmp类的服务器openrtmfp流媒体服务器
- [RTMP]adobe之FMS视频直播解决方案流程介绍(组图)
- [RTMP协议]实时消息传输协议 (RTMP) 常识性介绍
- [FMS]Adobe的Flash Media Server服务器(FMS服务器)安装
请稍候...