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()
    }
    };

  • 相关阅读:
    Java实现 洛谷 P1060 开心的金明
    (Java实现) 洛谷 P1605 迷宫
    (Java实现) 洛谷 P1605 迷宫
    (Java实现)洛谷 P1093 奖学金
    (Java实现)洛谷 P1093 奖学金
    Java实现 洛谷 P1064 金明的预算方案
    Java实现 洛谷 P1064 金明的预算方案
    (Java实现) 洛谷 P1031 均分纸牌
    QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
    武则天红人对唐睿宗的桃色报复(如此缺少城府,注定了要在宫廷中过早地出局)
  • 原文地址:https://www.cnblogs.com/appleseed/p/1429726.html
Copyright © 2011-2022 走看看