Flash Media Server (FMS) 用户验证与计费设计
2010-03-23 21:30
387 查看
一个B/S的用户在线计费系统代码.用到Flash Media Server作服务器,使用rtmp协议来保持客户端的连接。
实现了被动计费(从客户端开始连接到断开连接的时间)和主动计费(从客户端开始连接到服务器主动验证客户端的连接时间)两种方式
需要保证Web服务端与FMS的链接安全,这个比较容易实现,IP策略就可以。也可以在FMS向Web服务端提交验证的页面做一个来路检测。
main.asc 代码
实现了被动计费(从客户端开始连接到断开连接的时间)和主动计费(从客户端开始连接到服务器主动验证客户端的连接时间)两种方式
需要保证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://xxx.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()) { //如果客户端还存在连接 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);//检测时间间隔根据具体情况而定,时间越短,服务请求越多
相关文章推荐
- Flash Media Server 5.0 (FMS)注册码
- FlashMediaServer(FMS)(中文资料收集
- 使用FMS 4.5(Flash Media Server 4.5) 搭建视频直播(HLS)
- Flash Media Server 4.0X (FMS) ubuntu linux安装测试
- 使用Flash Media Server(FMS)录制mp4格式的视频
- [FMS]一步一步学Flash Media Server(四)
- FMS (Flash Media Server) Player 制作(AS2版)
- Adobe FlashMediaServer(FMS) 4.5
- adobe FMS(flash media server)错误解决小结
- 在Ubuntu上安装Flash Media Server 3.5(FMS 3.5)
- 使用Flash Media Server(FMS)录制mp4格式的视频
- [FMS]一步一步学Flash Media Server(五)
- Flash Media Server(FMS)应用一例
- FMS(Flash Media Server)共享内存问题解决
- CDN设计:[笔记]Analysis of Enterprise Media Server Workloads
- Web用户的身份验证及WebApi权限验证流程的设计和实现
- Flash Media Server的安装、配置及新功能介绍(共六篇)
- Flash Media Server安装
- Introducing Adobe Flash Media Server 3.5
- 计算Flash Media Server 3 带宽需求