`
LD_21
  • 浏览: 130117 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

[转]FMS后台编程

    博客分类:
  • flex
阅读更多

以下是对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.(联接名,用户名称,口命){}
关闭.close()
application.disconnect(clientObj)
Application.(){}
调用
.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.(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()    
     }

分享到:
评论

相关推荐

    FMS.rar_flex_flex FMS_fms_site:www.pudn.com

    【描述】中的“fms实现的视频播放系统”指的是使用FMS作为后台服务器,配合Flex前端展示,构建的视频播放解决方案。该系统包括“带说明,带安装说明带文档”,意味着用户可以详细了解到如何配置、安装和使用这套系统...

    网博Fms在线直播系统

    procmd.aspx.cs、regedit.aspx.cs和images.aspx.cs是这些页面对应的后台代码文件,通常用C#语言编写,实现了前端界面与服务器端逻辑的交互,处理用户请求、数据处理和业务逻辑。 images.aspx可能用于处理和显示系统...

    FMS(客户账户管理)

    Core Java涵盖了Java的基础语法、集合框架、多线程、网络编程以及IO流等关键模块,这些都为FMS提供了坚实的技术支撑。 **用户界面设计** 描述中提到FMS的界面“整洁漂亮,实用”,这表明在用户体验方面,系统...

    as3 + fms3聊天室

    【描述】中的“基于FMS的AS3聊天室源代码”表明,该应用的核心在于利用了Adobe的Flash Media Server作为后台服务器,它支持实时流媒体和双向通信。ActionScript 3是Flash Player和Air应用程序的编程语言,它用于构建...

    简易聊天室flash多人聊天 FMS实现

    【标题】"简易聊天室flash多人聊天 FMS实现"揭示了这个项目的核心是构建一个基于Flash的多人在线聊天系统,采用FMS(Flash Media Server)作为后台技术来实现实时的通信功能。Flash是一种广泛应用于网页上的多媒体...

    Fms_live.rar_视频 asp_视频直播

    在这个直播系统中,ASP.NET 2.0扮演了后台逻辑处理的角色,处理用户请求,与FMS服务器通信,以及管理用户会话和权限等。 SQL Server 2000是微软的数据库管理系统,它为应用程序提供了可靠的存储和管理数据的能力。...

    fms:农业管理系统

    "fms:农业管理系统"就是这样一个专为农业领域设计的信息管理系统,它运用了先进的信息技术,尤其是JavaScript编程语言,来提升农业生产过程中的各个环节的管理水平。本文将深入探讨fms系统的核心功能和JavaScript在...

    FLEX视频摄像头录制上传到服务器及FMS服务器的安装与配置

    FMS服务器作为后台,负责接收、存储和分发视频流。整个过程涉及了客户端的摄像头访问、视频录制、网络传输,以及服务器端的安装和配置等多个技术环节。理解并掌握这些知识,将有助于开发出高效、稳定的视频应用。

    老成FMS框架 v5.3

    老成FMS框架 v5.3 后台采用的是经典的JAVA SSM架构,即Spring、SpringMVC和MyBatis的组合。Spring作为基础框架,提供了依赖注入和面向切面编程的能力,便于组件化和模块化开发。SpringMVC则负责处理HTTP请求,将前端...

    Fms_live2.rar_web直播_直播_直播 asp_视频 asp

    其次,Web部分采用了ASP.NET 2.0框架,这是一种由Microsoft开发的用于构建动态网站的强大工具,支持C#编程语言。ASP.NET提供了丰富的控件和事件驱动模型,使得开发者可以便捷地创建交互性强、响应快速的网页应用。在...

    Flex版Mp3播放器----大部分功能版二,后台

    开发者可能还需要使用像FMS (Flash Media Server) 或其他类似的服务器来处理音频流,尤其是在处理后台功能时。 在压缩包文件“newting”中,可能包含了项目的源代码文件、资源文件(如音频文件、图片、样式表等)、...

    Flash+Media+Server3.5使用教程

    - **ActionScript 3.0 支持**: 服务器端可以使用ActionScript 3.0进行编程,扩展服务器功能,创建更复杂的交互性应用。 - **安全特性**: 提供了安全措施,如防止未授权访问和版权保护,确保媒体文件的安全。 - **...

    flash的录音程序

    FMS可以提供稳定的后台服务,支持多个用户同时录音,且具备安全性,确保数据的隐私。 压缩包中的文件“www.pudn.com.txt”可能包含的是关于如何使用该录音程序的说明、源代码解释或者是在Pudn网站上找到此资源的...

    Flex视频会议系统

    Flex视频会议系统是一种基于Adobe Flex技术构建的在线交互式沟通平台,主要利用FMS(Flash Media Server)服务器作为后台支持,提供高效、稳定的音视频通信服务。Flex是ActionScript 3.0的一个开发框架,它使得...

    优秀资料(2021-2022年收藏)数控答案仅供参考要点.doc

    16. **前台后台型结构**:前台程序处理实时任务,后台程序进行循环操作,两者协作完成加工任务。 17. **中断型结构模式**:软件由多个中断服务程序组成,以响应不同级别的中断事件。 18. **译码程序**:将编程语言...

    P2PVODPlayer_P2PVODPlayer_unlessn66_

    在这个项目中,FMS作为P2PVODPlayer的后台服务,处理视频流的分发和管理。 4. **RTMFP协议**:Real-Time Media Flow Protocol(RTMFP)是Adobe开发的一种网络协议,允许在P2P网络中进行低延迟的音视频传输。开启...

    事实直播系统 sql2000+asp.net2.0(c#

    在这个直播系统中,SQL2000可能被用作后台数据库,存储直播的元数据、用户信息和交互数据。 4. **ASP.NET 2.0**:ASP.NET是微软开发的Web应用程序框架,用于构建动态网站、Web应用程序和服务。版本2.0引入了诸多...

    flash流媒体直播系统_dotnet影音娱乐网站.rar

    它提供了丰富的类库和开发工具,支持多种编程语言(如C#、VB.NET等),可以高效地开发网络应用,包括流媒体服务器和后台管理系统的构建。 3. **流媒体服务器**:系统中的“FMS_Live2”可能指的是Adobe Flash Media ...

    专升本《数控技术》考试答案.pdf

    9. **工件坐标系**:在工件坐标系下编程,可以忽略工件在机床上的安装位置和安装精度,简化编程过程。 10. **联动控制轴数**:联动控制轴数表示机床同时控制的进给轴数量,影响机床的复杂加工能力。 11. **非同组...

    计算机数控装置原理(共53张PPT)精选.pptx

    键盘和开关用于编程和操作设备,而I/O接口则作为输入输出接口,连接各种控制信号,如伺服控制、机械手、主轴变速、刀架控制等。通讯口则用于传输加工程序,支持DNC(直接数控)和FMS(柔性制造系统)的需求。 硬件...

Global site tag (gtag.js) - Google Analytics