PDA

Просмотр полной версии : вызов функции во флэшке (flex) из asc (Flash Media Server)


djyamato
28.04.2010, 22:09
Здравствуйте
Только перехожу на Флекс - штука, конечно, классная, но вот уже 2 час не могу обратиться к функции во флэшке из ASC файла на стороне сервера (насколько я себе представляю это серверный скрипт на AS1 верно же ?)

Есть у меня флэшка которая подключается к ФМС

Он, в свою очередь, вызывать должен функцию в этой флэшке

Я вот как делаю:

Во Флексе

private var ServerNC:NetConnection;
private var myPeerID:String="Мой номер";

ServerNC=new NetConnection();
ServerNC.addEventListener(NetStatusEvent.NET_STATUS, ServerNCStatusHandler);
ServerNC.connect("rtmp://localhost/videoChat",tmpName,myPeerID);

//////// сообщение от сервера //////////////////
public function ClientUpdateUsers(cArray:Array):void{
tracerText.appendText("сообщение от сервера: ClientUpdateUsers "+cArray+"\n");
}
/////////////////////////////////////////////////////




в файле ASC


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

application.onConnect=function(client,name,peer){
//Accept the connection
application.acceptConnection(client);
client.name=name;
client.peerID=peer;
for (i = 0; i < application.clients.length; i++){
application.clients[i].call("ClientUpdateUsers",null,sendArray);
}
}



После коннекта сервер пытается вызвать функцию ClientUpdateUsers и вылетает ошибка
ReferenceError: Error #1069: Не удалось найти свойство ClientUpdateUsers в flash.net.NetConnection; отсутствует значение по умолчанию.

Пытался сделать класс AMS_Manager расширив им NetConnection с публичной функцией
ClientUpdateUsers - результат - та же ошибка

Может быть, где-то в <fx:Declarations> объявлять нужно эту функцию ? Если да, то как, подскажите пожалуйста.

Подскажите где я ошибся ?

Добавлено через 1 час 1 минуту
Ой, простите, а клиентом-то НетКоннекшена свою флэшку-то я не сделал - вот и не работало

Вот что дописал ServerNC.client = this; и заработало