·您当前的位置:首页 > 技术教程 > Rtmp技术 >

[FMS]adobe的FMS各种命令索引以及部分示例(4)

时间:2012-09-13 12:03cnblogs.com
//===================连接实例=============== // 客户端连接 nc = new NetConnection(); // 处理来自伺候器的任何状态变化和反应 nc.onStatus = function(info) { //连接成功进入 if (info.code == NetConnection

//===================连接实例===============
// 客户端连接
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)
}

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器