Se me conecta perfectamente con el servidor, pero me da el siguiente error cuando llamo a la función msgFromSrvr() -->
ReferenceError: Error #1069: Property msgFromSrvr not found on Chat and there is no default value.
Error #2044: Unhandled AsyncErrorEvent:. text=Error #2095: flash.net.SharedObject was unable to invoke callback msgFromSrvr. error=ReferenceError: Error #1069: Property msgFromSrvr not found on Chat and there is no default value.
Les dejo el código por si les puede ayudar:
Clase Chat.as:
Código ActionScript :
package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.NetStatusEvent; import flash.events.StatusEvent; import flash.events.SyncEvent; import flash.events.TimerEvent; import flash.net.NetConnection; import flash.net.ObjectEncoding; import flash.net.SharedObject; import flash.utils.Timer; public class Chat extends MovieClip { private var _father:MovieClip; private var _chat_mc:MovieClip; private var nc:NetConnection; private var ro:SharedObject; private var _userName:String; private var _sUserNames:String; private var _sAllUsers:String; private var _firstMsg:String; private var _auxMsg:String; private var _serverPath:String = "rtmpt://localhost:82/SOSample/"; private var _chatChannel:String = "0"; NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0; SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0; public function Chat(father:MovieClip) { init("myName"); } public function init(userName:String):void { _userName = userName; _chat_mc = new chat_mc(); _chat_mc.userName_lbl.text = _userName; _chat_mc.send_btn.label = "Enviar"; _chat_mc.userList_lbl.text = "Usuarios conectados"; _chat_mc.conect_btn.label = "Conectar"; _chat_mc.disconect_btn.label = "Desconectar"; _chat_mc.minimize_cb.label = "Minimizar"; _chat_mc.chatBody.text = ""; _chat_mc.conect_btn.visible = false; addChild(_chat_mc); createConnection(); listeners(); } private function listeners():void { _chat_mc.send_btn.addEventListener(MouseEvent.CLICK, sendMessage); _chat_mc.minimize_cb.addEventListener(MouseEvent.CLICK, minimizeHandler); } private function createConnection():void { //Connect to Server nc = new NetConnection(); nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus); nc.connect(_serverPath + _chatChannel, _userName); nc.client = this; } private function netStatus(e:NetStatusEvent):void { if (e.info.code != "NetConnection.Connect.Success") { _chat_mc.chatBody.text = "No se ha podido realizar la conexión\n"; }else { ro = SharedObject.getRemote("ChatUsers", nc.uri); if (ro) { ro.addEventListener(SyncEvent.SYNC, OnSync); ro.connect(nc); ro.client = this; } } } private function OnSync(e:SyncEvent):void { trace("sync "+e.target.data); } private function sendMessage(e:MouseEvent):void { if (_chat_mc.message.text != "") { nc.call("msgFromClient", null, _chat_mc.message.text); _chat_mc.message.text = ""; } } private function msgFromSrvr(msg:String):void { trace("msgFromSrvr"); writeMessage(msg); } private function writeMessage(msg:String):void { _chat_mc.chatBody.text += msg; } } // y el main.asc application.onAppStart = function() { application.users_so = SharedObject.get("ChatUsers"); application.history = ""; application.nextId = 0; } application.onConnect = function(newClient, userName) { trace("conectem l'usuari: "+userName); newClient.name = userName; newClient.id = "u" + application.nextId++; application.users_so.setProperty(newClient.name, userName); application.acceptConnection(newClient); //newClient.call("setHistory", null, application.history); newClient.msgFromClient = function(msg) { msg = userName + ": " + msg + "\n"; trace("msgFromClient "+msg); application.users_so.send("msgFromSrvr", msg); } } application.onDisconnect = function(client) { trace("disconnect: " + client.name); application.users_so.setProperty(client.name, null); }
Alguna idea?
Muchas gracias por su tiempo
Manel Pi