FMS3 — вызов функций из ASC в AS3


Небольшой пример взаимодействия между функциями клиента и сервера. Для начала необходимо установить FMSна компьютер, для проведения теста.

После установки сервера, нам неоходимо создать два файла
1. Файл класса для приложения .fla
2. Файл приложения .asc (ActionScript, который будет выполняться на стороне сервера).

Файл Interaction.as

package 
{ 
import flash.display.MovieClip; 
import flash.net.NetConnection; 
import flash.net.Responder; 
import flash.events.NetStatusEvent; 

public class Interaction extends MovieClip 
{ 
// Responder for call to server's 
private var myResponder:Responder = new Responder(onReply); 
private var nc:NetConnection; 

public function Interaction():void 
{ 
//Constructor 
nc = new NetConnection(); 
nc.addEventListener( NetStatusEvent.NET_STATUS, netStatusHandler ); 

// Connect to the server. 
nc.connect("rtmp://localhost/Interaction"); 

//Allow method within th class to be called by the server side script 
nc.client = this; 

} 

//Handle NetStatus 
private function netStatusHandler( event:NetStatusEvent ):void 
{ 
switch( event.info.code ) 
{ 
// Successfully connected to FMS, execute function 
case "NetConnection.Connect.Success": 
trace("connected"); 
callServerSideF(); 
break; 
} 
} 

public function callServerSideF():void 
{ 
//Call a server side function written on an .ASC file 
nc.call("callFromClient", myResponder, "Server"); 
} 

public function calledByServerSide(msg:String):void 
{ 
//Function called by an .ASC file 
trace("ASC have to say :"+msg); 
} 

// Responder function for nc.call() 
private function onReply(result:Object):void 
{ 
trace("Client have to say " + result); 
} 
} 
} 

Файл main.asc

//Application is launched 
application.onAppStart = function() 
{ 
/* Allow debugging */ 
this.allowDebug = true; 
} 

//Client is connected 
application.onConnect = function( client ) 
{ 

//Accept the connection 
application.acceptConnection( client ); 

//Call the function calledByServerSide from AS3 
application.clients[0].call( "calledByServerSide", null, "Hello Client :-)"); 

// Define new client function for a nc.call(). 
client.callFromClient = function( helloStr ) { 
return "Hello Mr " + helloStr + ":-D~"; 
} 
} 

//Client disconnected 
application.onDisconnect = function( client ) 
{ 
//Trace on the FMS Application console 
trace( client+" is disconnected" ); 
} 

В завершении нам осталось только скопировать main.asc в папку приложений сервера FMS (назовём её - /Interaction/), и запустить приложение клиента.

Исходник

http://www.metah.ch/blog/2008/05/flash-media-server-3-calling-a-function-from-asc-to-as3-server-client-interaction/
Реклама
Поделиться
Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!

Добавить коментарий

16 − пятнадцать =