科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件[冷枫]FCS编程之Application对象

[冷枫]FCS编程之Application对象

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

FCS编程之Application对象

作者:冷枫 来源:CSDN 2007年9月23日

关键字: 冷枫 FCS 编程 application 软件

  • 评论
  • 分享微博
  • 分享邮件
Application对象可以让你接受或拒绝用户端的连接请求,注册客户端相应事件的类和方法等。一般在服务器端的main.asc文件中定义相关事件。
服务器端的程序由下列事件程序组成:
1 : application.onAppStart = function(){
2 : //应用程序初次启动时,要执行的程序
3 : //并且只会被执行一次
4 : }


1 : application.onConnect = function(){
2 : //每当有用户链接到此应用程序时,要执行的程序
3 : //可以在这里读取用户端的数据
4 : //建立可以让客户端执行的方法
5 : //或者呼叫客户端的自定义方法等
6 : }

如果使用communication server组件的话,还可以使用Application.onConnectAccept 和 application.onConnectReject事件
可以查看下面的实例程序:
01 : // A user has connected
02 : application.onConnect = function( newClient, userName )
03 : {
04 : if (userName == 'admin')
05 : {
06 : newClient.adminFunc= function(param)
07 : {
08 : // some code that’s only useful to the admin
09 : newClient.myAdminProperty = param;
10 : }
11 : } else
12 : {
13 : // code for most cases
14 : }
15 : // Allow the logon
16 : application.acceptConnection( newClient );
17 : }
18 : // this part could be in a separate file
19 : // Every client (including admin) is going to have this function
20 : // (because of the way 'prototype' works).
21 : Client.prototype.commonFunction = function (myColor)
22 : {
23 : // some code
24 : // use this to refer to the client instead of newClient
25 : this.color = myColor;
26 : }

或者
01 : application.onConnect = function(clientObj,name,passwd)
02 : {
03 : // First accept the connection
04 : application.acceptConnection(clientObj);
05 : // After client is registered with the application instance
06 : // you can use 'call' method
07 : clientObj.call('onWelcome', 'You are now connected!!!');
08 : return;
09 : // Once you call acceptConnection or
10 : // rejectConnection within onConnect, return value is ignored.
11 : }
, client,name);
12 : }
13 : }
14 : // On the client side you would have the following
15 : nc = new NetConnection();
16 : nc.userDisconnects= function (name) {
17 : trace(name + 'quits');
18 : }
19 : nc.connect ('rtmp:/app_name', userName);

注意:如果要call客户端的方法,请确认已经调用application.acceptConnection以保证客户端正常连接。

1 : application.onDisConnect = function(){
2 : //当用户离线时,要执行的程序
3 : //可以在这里清楚用户的数据
4 : //和其它相关的程序
5 : }

可以参考下面的程序:
01 : // On the server side you would have the following
02 : application.onConnect = function(newClient, name)
03 : {
04 : newClient.name = name;
05 : return true;
06 : }
07 : application.onDisconnect = function(client)
08 : {
09 : for (var i = 0; i < application.clients.length; i++)
10 : {
11 : application.clients[ i ].call('userDisconnects'


1 : application.onAppStop = function(){
2 : //应用程序结束时,要执行的程序
3 : //也就是说所有的联机用户都离线后
4 : //这里的程序会被执行
5 : }


我们看到的main.asc文件可能并没有包含上面的任何一个事件,那是因为有可能通过load方法加载了其它的组件定义,但是我们仍然可以在main.asc文件中定义我们需要的事件和方法。
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=860146

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章