`
anson_xu
  • 浏览: 502712 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
阅读更多

FMS函数

以下是对FMS的整理。 有时用起来忘了就打开快速取到。
//===================命令索引===============


//================App 类===============
application.onConnect /*
application.onDisconnect /*
application.onAppStart //APP载入调用
application.onAppStop //App卸载调用
application.onStatus //脚本发生错误调用

application.broadcastMsg("函数",参数) /*
application.acceptConnection(newClient) //接受 /*
application.disconnect(newClient) //断开 /*
application.getStats() //返回这个应用程序的网络状态
application.registerClass //注册或注销一个构造器
application.registerProxy() //注册一个NC或Client完成一个方法请求
application.rejectConnection() //拒绝连入 /*
application.shutdown() //卸载APP

//-----------属性-----------
application.allowDebug //true false 是否允许使用管理器
application.clients //连接群体
application.config //允许访问XML配置文件的属性
application.hostname //服务器主机名
application.name //App实例名字 /*
applicatiseon.server //平台和版本
application.gc //调用垃圾收集器来回收App未使用的资源
application.getStats //返回App的状态
    参数:
    bytes_in //数据接受和发送
    bytes_out
    msg_in //信息接受和发送数
    msg_out
    msg_dropped //客户机数
    total_connects //总连接数
    total_disconnects //总断开数

//============App_Client类=======
Client.getStats //返回客户机的状态
Client.readAccess //发送一个"ping"至客户,如果响应则返回true
Client.setBandwidthLimit() //设置连接的最大带宽
Client.agent //客户版本和平台
Client.ip //客户机的IP地址 /*
Client.protocol //客户机协议
Client.readAccess //客户机读访问权级列表
Client.referrer //连接的SWF或服务器的URL
Client.secure //布尔值 指出internet连接是否是安全的
Client.uri //客户机所确定的URI
Client.virtualKey //客户机类型(版本)
Client.writeAccess //客户机写访问权的列表
Call //

 

//============App_file类=========
构建方法
fileObject= new File(name或url)

File.close //关闭这个文件
File.copyTO //把一个文件复制到另一个位置
File.eof //文件指针是否位于文件的末尾
File.flush //清出文件输出的缓冲区
File.list //如果这个文件是目录,则返回数组

File.mkdir //创建目录
File.open //打开文件进行读取或写入
File.read //从文件中读取指定数量的字符并返回一个字符串
File.readByte //从文件读取下一个字节并返回下一个字节的数字值
File.readln //从这个文件中读取下一行作字符串返回
File.remove //移除该文件或目录
File.renameTo //移动文件或重命名
File.write //写入数据到一个文件
File.writeAll //暂未知
File.writeByte //把一个字节写入这个文件
File.writeln //写入数据到文件并输出最后一个参数
File.getGlobal //跳过指定数量的字节并返回新的文件位置
File.toString 返回File对象的名字
//---属性
File.canAppend //指出文件可以为追加目的而打开
File.canRead //是否可以被读取
File.canReplace //是否以替换标记启用模式打开
File.creationTime //文件创建时间
File.exists //指出这个文件或目录是否存在
File.isDirectory //是否是一个目录
File.isFile //是否是一个数据文件
File.isOpen //是否是打开的
File.lastModified //最近一次被修改的时间
File.length //目录:文件的数量。 文件:文件中的字节数
File.mode //打开文件的模式
File.name //文件名
File.position //文件当前的偏移量
File.type //文件使用的编码和数据类型

 

 

//===================连接实例===============
// 客户端连接
nc = new NetConnection();
// 处理来自伺候器的任何状态变化和反应
nc.onStatus = function(info) {   
    //连接成功进入
    if (info.code == "NetConnection.Connect.Success") {       
        trace("连接成功");
    } else if (info.code == "NetConnection.Connect.Closed") {       
        trace("断开连接");
    } else {
        trace("无法连接")
    }
};
nc.connect("rtmp://192.168.1.223/test");

// 服务端连接
application.onConnect = function(newClient) {
    application.acceptConnection(newClient);   
   
};
application.onDisconnect = function(newClient) {   
};

//服务端对客户端的响应函数
Client.prototype.XXX=function(){

}

#include "NetDebug.as" //测试连接效果


连接.connect()
Application.onConnect=function(联接名,用户名称,口命){}

关闭.close()
application.disconnect(clientObj)
Application.onDisconnect=function(){}

调用
.call()
调用一个伺候器定义方法。 方法与 main.asc 文件一起定义。

接受与客户端取得响应
application.acceptConnection(newClient)
拒绝与客户端取得响应
application.rejectConnection(newClient)

服务端连接数据
entries_so = SharedObject.get("room1/game_SO", true);
//设置服务器全局变量
gFrameworkFC.getClientGlobals(newClient).username =userName;

 

连接例子:
#include "NetDebug.as"
// 建立新的联接对象
myConnection_nc = new NetConnection();
// 处理来自伺候器的任何状态变化和反应
myConnection_nc.onStatus = function(info) {
    trace("LEVEL: "+info.level+"   CODE: "+info.code);
};
// 开始连接到服务器
myConnection_nc.connect("rtmp:/YC_SD/myInstance", "Kevin Towes");

// 建立UI组件测试是否连接成功
peopleList_mc.connect(myConnection_nc);//登陆名列表组件
connectionLight_mc.connect(myConnection_nc);//登陆测试组件

数据读写例子:(利用上面的先建立连接)
initRemoteSharedObject = function () {
      trace("Connect a Remote SharedObject");
    //创建一个SO数据库 库名为:myRemoteSO 联接对象为myConnection_nc
      rem_so = SharedObject.getRemote("myRemoteSO", myConnection_nc.uri, true);

      //设置数据同步函数
      rem_so.onSync =function(){

    }
    //数据联接
      rem_so.connect(myConnection_nc);

      // 写入数据
      rem_so.data.simpleTest = "FlashCom 将改变我的世界";
      rem_so.data.arrayTest = ["Brett", "Mike", "Ryan", "Paul", "Jody", "Kevin"];

      // 读取数据
      var my_var = rem_so.data.simpleTest;
      var my_array = rem_so.data.arrayTest;
      trace(" Remote SharedObject Read Test: "+my_var);
      trace(" Remote SharedObject Read Test: "+my_array[0]);
      trace("Remote SO Size: "+rem_so.getSize());
};


数据交互
服务器端:
//顶头
Client.prototype.getData=function(){}
//其中
Client.getData=function()
{
   var ss=new Array("asdf",5666,6777)
   return ss
}
客户端:
var s_Result = new Object();
s_Result.onResult = function(info) {
    //info里就是服务器返回的数据
    trace(info);
};
myConnection_nc.call("getData", s_Result);


服务端CALL客户
newClient.call("test");
AS:
myConnection_nc.test = function () {
    trace("服务器调用");   
};

 

服务器管理SharedObject
//连接Shared
application.game_so = SharedObject.get("game_SO", true);
//写入
application.game_so.setProperty("变量名", 值)
//读取
变量名=application.game_so.getProperty("变量名")
trace(变量名)
//读取全部变量名
getPropertyNames()

 


获得退出者名字
application.onConnect =function(newClient,userName,my_pic)
{
application.acceptConnection(newClient);
    //为连接对象加入名字
    newClient.userName=userName
}
application.onDisconnect=function(newClient)
{
    //获得退出者名字   
    trace(newClient.userName)
}

所有的连入者
application.clients

当前的连入者
this

UI连接
peopleList_mc.connect(myConnection_nc);

 

AV视频/音频
//写入
myConnection_nc.connect("rtmp:/AV_test/myInstance", "test");
publish_ns = new NetStream(myConnection_nc);
//publish写入参数 record :新建 append:追加 false:假的,不记录
publish_ns.publish("test","false");   
publish_ns.attachVideo(Camera.get());
publish_ns.attachAudio(Microphone.get());
//停止录   
publish_ns.close();

//播放
play_ns = new NetStream(myConnection_nc);
play_video.attachVideo(play_ns);
play_ns.play("test");
//停止播放
play_ns.close();

 

 

 

 

 

 

 

 

fileObject = new File("/aa/1.txt")
//fileObject.open("utf8","read")
if (fileObject.open("utf8","read") ){
    //strVal = fileObject.read(100);
    all=fileObject.readAll()
    //t1=fileObject.readln()
    //t2=fileObject.readln()
    fileObject.close()
    trace(all)
}

//添加错误日志追踪
application.onStatus = function(infoObject) {
    var date_data = new Date();
    var newdate = date_data.getFullYear()+"年"+(date_data.getMonth()+1)+"月"+date_data.getDate()+"日";
    var newtime = date_data.getHours()+"时"+date_data.getMinutes()+"分"+date_data.getSeconds()+"秒";
    //当前日期+时间
    var new_DD = newdate+" "+newtime;
    var log_txt=""
    log_txt+="\r\n---------------------------"
    log_txt+="\r\n日志出错 出错时间="+new_DD+" 错误实例名="+application.name   
    for (var i in infoObject) {
        if (i == "level") {
            log_txt+="\r\n出错等级="+infoObject[i];
        } else if (i == "code") {
            log_txt+="\r\n代码情况="+infoObject[i];
        } else if (i == "descrīption") {
            log_txt+="\r\n描述="+infoObject[i];
        } else if (i == "details") {
            log_txt+="\r\n详细资料="+infoObject[i];
        } else if (i == "filename") {
            log_txt+="\r\n脚本文件="+infoObject[i];
        } else if (i == "lineno") {
            log_txt+="\r\n出错行数="+infoObject[i];
        }
        //trace(i + ":" + infoObject[i]);
    }
    log_txt+="\r\n---------------------------"
    //查看目录是否存在
    root_dir=new File("/")
    dirObj= new File("/Error_logs/")
    //该目录不存在时创建
    if(!dirObj.exists){
        trace("创建成功")
        root_dir.mkdir("/Error_logs")
    }
    //写入数据
    var fileObj = new File("/Error_logs/"+newdate+".txt")
    //fileObj.open("utf8","read")
    if (fileObj.open("utf8","append") ){
        //strVal = fileObj.read(100);
        fileObj.write(log_txt);
        fileObj.close()   
    }
};

分享到:
评论

相关推荐

    FMS3翻译docx版本

    然后客户端运行服务器端的函数来返回一个字符串的值。当服务器端回应了,客户端的回应函数在label上显示字符传。客户端通过改变按钮的label来断开连接。当diaconnect的按钮被点击,客户端断开连接,并且清空label。 ...

    论文研究-基于Petri网的FMS物流系统建模与仿真.pdf

    在建立FMS物流系统Petri网模型的基础上,采用“映射”思想,将Petri网模型转化为物流系统的仿真程序,提出了库所映射为程序数据、变迁映射为程序函数、系统子网映射为FMS系统基本类的映射方法,通过实例仿真验证了...

    论文研究-基于混合遗传算法的FMS优化配置及其工艺路线规划.pdf

    针对基于CQN模型的FMS优化配置问题提出了一种混合遗传算法,充分利用CQN模型中生产量函数和成本函数的单调性,设计了最大产量-成本梯度算子来引导新一代种群从不可行域进入...

    fms_option:常规期权定价和希腊文

    普通期权定价和希腊文 该库执行一般的欧洲期权(远期)定价和希腊文。 基本收益F通过F = fe sX-κ(s)由正向f和vol s参数化,其中κ(s) = log E [ e s X ]]是X的累积量。... using namespace fms ; variate:: normal

    基于信标的柔性制造系统的优化死锁预防策略

    针对柔性制造系统(FMS)中的死锁问题, 根据矩阵理论给出了Petri网中基本信标的概念, 进而提出一种基于基本信标和混合整数规划法(FMS)的死锁预防策略.该策略将最优基本信标作为控制对象, 以混合整数规划法给出的系统无...

    fms:金融,数学,软件

    enumerator器是具有explicit operator bool() const成员函数的迭代器。 它们是STL迭代器对与为数字编程设计的最新范围建议之间的最佳结合点。 多项式相关函数。 数学上的特殊功能,不是那么特殊。 寻根。

    vc6.0 获取MAC函数文件

    ipexport.h,iphlpapi.h,iptypes.h IPHLPAPI.LIB 免费提供

    NT Locale Emulator Advance (中文名稱: NT全域通)

    ntleac.exe "d:\test\game.exe" "A-G 123 -B 456" "P0" "C932" "L1041" "T-540" "FMS Gothic" "S200" 执行结果为启动“d:\test\game.exe -G 123 -B 456”,并设置页码为932(日文Shift-JIS),语言区域为日本,字体...

    网页播放器

    温馨提示: ①.购买(授权)后演示效果:购买授权后效果>> ②.极酷阳光播放器V2.5版“经典款”与“时尚款”,功能和使用方面完全...* 提供更丰富的JS函数接口,用于更方便的处理AS与JS的交互,以及JS与AS的交互; New

    KalmanFiltering(x,z​,Fms,R):这是想要学习卡尔曼滤波器算法编码的人的 KF 文件-matlab开发

    这是在以下论文中实现的卡尔曼滤波器的 MATLAB 函数:(如果您使用,请引用) P. Lall、J. Wei 和 L. Davis,“使用基于卡尔曼滤波器和扩展卡尔曼滤波器的模型对固态照明进行 L70 寿命预测”,2013 年 IEEE 第 63 ...

    极酷阳光RTMP播放器V2试用版(功能强大)

    * 支持RTMP协议(支持red5,wowza,FMS等rtmp流媒体点播与直播);也支持http协议; New * 支持5种广告功能:支持前置广告、视频广告、暂停广告、角标广告、后置广告; New * 提供更丰富的JS函数接口,用于更方便的处理...

    面向对象形式建模的理论与方法

    尽管一些安全关键系统的国际标准强烈建议使用形式化方法(FMs),但是几乎所有有关FMs的现有工作都集中在形式模型上,而形式模型只有内部不一致。 如何保证形式模型的外部一致性(或正确性),即满足用户的期望,是...

    RTMP-flash播放器(支持点播与直播)

    FMS环境配置参考: http://blog.csdn.net/china_skag/article/details/7276674 支持RTMP功能(支持点播,也支持直播),测试提示...6. 关于这款,还有一个getNext函数,值得一提,可以实现列表的连播。 7. goodluck! :)

    遗传算法的双目标柔性作业车间调度研究 (2006年)

    研究了FMS环境下先进制造车间路径柔性的优化调度问题。同时考虑现代生产准时制的要求,建立了柔性作业车间调度问题的双目标数学优化模型,并给出了求解模型的遗传算法的具体实现过程;针对模型的特殊性,提出了...

    ncomatlab代码-x5chk2021:x5chk2021

    线性响应函数,方阵 联系方式:请在以下位置找到我的最新电子邮件 纯图形再现 要求 硬件: 软件:安装以下或conda create --name l1_length --file requirements.txt 版本 6.6.2 食谱 运行make绘制所有内容 或者运行...

    ncomatlab代码-chk2021-lengthscale-dry:chk2021-lengthscale-dry

    线性响应函数,方阵 联系方式:请在以下位置找到我的最新电子邮件 纯图形再现 要求 硬件: 软件:安装以下或conda create --name l1_length --file requirements.txt 版本 6.6.2 食谱 运行make绘制所有内容 或者运行...

    基于信标的柔性制造系统的优化死锁预防策略 (2006年)

    针对柔性制造系统(FMS)中的死锁问题,根据矩阵理论给出了Petri网中基本信标的概念,进而提出一种基于基本信标和混合整数规划法(MIP)的死锁预防策略。该策略将最优基本信标作为控制对象,以混合整数规划法给出的...

    RTMP播放器(支持点播与直播)

    1. 你要先装好RTMP环境,比如FMS,wowza等,这是前提条件,没有这个前提,就不用测试了哦; 2. demo1.html和demo2.html为自带的示例文件,里面有如下代码: --请对应换成你自己的实际服务器地址和文件地址信息-----...

    工业大数据漫谈19:工业大数据数据采集常见的工业协议简介(下).pdf

    在过去,为了存取现场设备的数据信息,每⼀个应⽤软件开发商都需要编写专⽤的接⼝函数。由于现场设备的种类繁多,且产 品的不断升级,往往给⽤户和软件开发商带来了巨⼤的⼯作负担。通常这样也不能满⾜⼯作的实际...

    matlab拟合差值代码-fmsproject:MEGForward建模项目,预测V1-V3活动的传感器响应

    欢迎使用MEG正向模型和神经同步(FMS)项目的基于MATLAB的代码存储库 目标 我们在这个项目中的目标是更好地了解产生特定MEG头皮地形的大脑React的潜在神经同步性。 在头皮水平上推断基本的同步性具有挑战性,因为您...

Global site tag (gtag.js) - Google Analytics