вход

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/

Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
Оставить комментарий

Статья → FMS3 – вызов функций из ASC в AS3

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.

 

Нажимая на кнопку, я даю согласие на рассылку, обработку персональных данных и принимаю политику конфиденциальности.