zoukankan      html  css  js  c++  java
  • [收集]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;
    } else if (i == “code”) {
    log_txt+=”\r\n代码情况=”+infoObject;
    } else if (i == “description”) {
    log_txt+=”\r\n描述=”+infoObject;
    } else if (i == “details”) {
    log_txt+=”\r\n详细资料=”+infoObject;
    } else if (i == “filename”) {
    log_txt+=”\r\n脚本文件=”+infoObject;
    } else if (i == “lineno”) {
    log_txt+=”\r\n出错行数=”+infoObject;
    }
    //trace(i + “:” + infoObject);
    }
    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()
    }
    };
    本文来源于 冰山上的播客 http://xinsync.xju.edu.cn/ , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/4287
  • 相关阅读:
    前端获取后台传输过来是数据 {张三:12} 解析为[object object],获取其中内容
    Idea 配置Jrebel热部署
    软件清单
    js实现敲回车键登录
    myql忽略大小写问题解决
    磁盘分区(2):格式化与挂载文件系统
    磁盘分区(1):fdisk和parted
    初识Docker:BusyBox容器后台运行失败
    安装Docker:解决container-selinux >= 2.9问题
    重启nginx:端口被占用问题
  • 原文地址:https://www.cnblogs.com/OwenWu/p/1689127.html
Copyright © 2011-2022 走看看