服务器端的File对象确实非常有用,FMS2发布之前就是因为缺乏对服务器端文件的操作而显得需要通过其他方式(例如PHP)解决。现在,FMS2对服务器端简单的文本文件的读写变得轻而易举(大量的数据查询恐怕还是要交给PHP等后台语言)。
下面以写入用户的日志文件为例,讲述下File对象的基本用法。
客户端连接服务器代码,不再详细解释。
建立NetConnection连接
var nc:NetConnection = new NetConnection();
// 用于调试连接信息
nc.onStatus = function(info) {
trace(info.code);
}
// 连接file_object应用传递用户名
nc.connect(’rtmp:/file_object’, ‘Graeme’);
服务器端main.asc的onConnect事件方法代码:
应用onConnect事件方法,记录用户登录日志
application.onConnect = function(clientObj, userName){
// 传入client对象和userName
// 判断用户名是否有效,作为日志文件名
if(userName != undefined){
//接受连接
application.acceptConnection(clientObj);
//以用户名创建文件对象
var fileObj = new File(userName + ‘.txt’);
// 检查文件是否已经存在
if(fileObj.exists){
//如果存在以text模式追加日志信息
fileObj.open(’text’, ‘append’)
}else{
//否则创建一个新的text模式文件
fileObj.open(’text’, ‘create’);
}
//写入用户登录信息
fileObj.writeln(userName + ‘ logged in on’ + new Date());
// 关闭文件对象
fileObj.close();
}else{
// 没有用户名,拒绝连接
application.rejectConnection(clientObj);
}
}
File对象是FMS2最新引入的服务器端对象,下面一篇讲述该对象的基本用法,原文出处:
下面以写入用户的日志文件为例,讲述下File对象的基本用法。
客户端连接服务器代码,不再详细解释。
建立NetConnection连接
var nc:NetConnection = new NetConnection();
// 用于调试连接信息
nc.onStatus = function(info) {
trace(info.code);
}
// 连接file_object应用传递用户名
nc.connect(’rtmp:/file_object’, ‘Graeme’);
服务器端main.asc的onConnect事件方法代码:
应用onConnect事件方法,记录用户登录日志
application.onConnect = function(clientObj, userName){
// 传入client对象和userName
// 判断用户名是否有效,作为日志文件名
if(userName != undefined){
//接受连接
application.acceptConnection(clientObj);
//以用户名创建文件对象
var fileObj = new File(userName + ‘.txt’);
// 检查文件是否已经存在
if(fileObj.exists){
//如果存在以text模式追加日志信息
fileObj.open(’text’, ‘append’)
}else{
//否则创建一个新的text模式文件
fileObj.open(’text’, ‘create’);
}
//写入用户登录信息
fileObj.writeln(userName + ‘ logged in on’ + new Date());
// 关闭文件对象
fileObj.close();
}else{
// 没有用户名,拒绝连接
application.rejectConnection(clientObj);
}
}
File对象是FMS2最新引入的服务器端对象,下面一篇讲述该对象的基本用法,原文出处: