Log.setLogAdapter(new ES5TraceAdapter());
可以查看tarce()信息。
private var _es:ElectroServer = new ElectroServer();
创建一个ElectroServer的实例。
public function Main():void { _es.loadAndConnect("settings.xml"); _es.engine.addEventListener(MessageType.ConnectionResponse.name, onConnectionResponse); _es.engine.addEventListener(MessageType.LoginResponse.name, onLoginResponse); _es.engine.addEventListener(MessageType.JoinRoomEvent.name, onJoinRoomEvent); _es.engine.addEventListener(MessageType.PluginMessageEvent.name, onPluginMessageEvent); }
根据settings.xml连接服务器,并进行连接、登陆和服务器发送信息的监听。
private function onJoinRoomEvent(e:JoinRoomEvent):void { trace("---room joined---"); } private function onPluginMessageEvent(e:PluginMessageEvent):void { trace("---plugin message received---"); //trace the EsObject payload trace(e.parameters); }
进入房间后输出"---room joined---"。
受到信息后输出“plugin message”,然后输出服务器传回来的PluginMessageEvent对象。
如果想得到对象某个key的value。则
trace(e.parameters.getString("hwm"));
private function onConnectionResponse(e:ConnectionResponse):void { trace("Connection success: " + e.successful.toString()); if (e.successful) { var lr:LoginRequest = new LoginRequest(); lr.userName = "guest" + Math.round(1000 * Math.random()).toString(); _es.engine.send(lr); } }
连接服务器成功后,发送一个随机的用户名给服务器。
private function onLoginResponse(e:LoginResponse):void { trace("Login accepted: " + e.successful.toString()); if (e.successful) { joinRoom(); } }
成功登陆后,执行joinRoom()方法。
private function joinRoom():void{ var crr:CreateRoomRequest = new CreateRoomRequest(); crr.roomName = "HelloWorld"; crr.zoneName = "HelloWorld"; //create the plugin var ple:PluginListEntry = new PluginListEntry(); ple.extensionName = "HelloWorld"; ple.pluginHandle = "HelloWorld"; ple.pluginName = "HelloWorld"; crr.plugins = [ple]; _es.engine.send(crr); }
设置房间的各种属性,并且加入房间。