//Invoke by Transporter, process the message internal void processMessage(byte[] bytes) { Package pkg = PackageProtocol.decode(bytes); //Ignore all the message except handshading at handshake stage if (pkg.type == PackageType.PKG_HANDSHAKE && this.state == ProtocolState.handshaking) { //Ignore all the message except handshading JsonNode_Object data = (JsonNode_Object)MyJson.MyJson.Parse(Encoding.UTF8.GetString(pkg.body)); processHandshakeData(data); this.state = ProtocolState.working; } else if (pkg.type == PackageType.PKG_HEARTBEAT && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); } else if (pkg.type == PackageType.PKG_DATA && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); pc.processMessage(messageProtocol.decode(pkg.body)); } else if (pkg.type == PackageType.PKG_KICK) { this.getPomeloClient().disconnect(); this.close(); } }
//Invoke by Transporter, process the message internal void processMessage(byte[] bytes) { Package pkg = PackageProtocol.decode(bytes); //Ignore all the message except handshading at handshake stage if (pkg.type == PackageType.PKG_HANDSHAKE && this.state == ProtocolState.handshaking) { //Ignore all the message except handshading string pkg_body = Encoding.UTF8.GetString(pkg.body); JsonObject data = (JsonObject)SimpleJson.SimpleJson.DeserializeObject(pkg_body); processHandshakeData(data); this.state = ProtocolState.working; } else if (pkg.type == PackageType.PKG_HEARTBEAT && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); } else if (pkg.type == PackageType.PKG_DATA && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); Message msg = messageProtocol.decode(pkg.body); pc.processMessage(msg); } else if (pkg.type == PackageType.PKG_KICK) { this.close(); } }
//Invoke by Transporter, process the message internal void processMessage(byte[] bytes) { Package pkg = PackageProtocol.decode(bytes); Trace.TraceInformation("processMessage:" + pkg.type + " " + this.state); //Ignore all the message except handshading at handshake stage if (pkg.type == PackageType.PKG_HANDSHAKE && this.state == ProtocolState.handshaking) { //Ignore all the message except handshading JsonObject data = (JsonObject)SimpleJson.SimpleJson.DeserializeObject(Encoding.UTF8.GetString(pkg.body)); processHandshakeData(data); this.state = ProtocolState.working; } else if (pkg.type == PackageType.PKG_HEARTBEAT && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); } else if (pkg.type == PackageType.PKG_DATA && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); pc.processMessage(messageProtocol.decode(pkg.body)); } else if (pkg.type == PackageType.PKG_KICK) { Trace.TraceInformation("pkg.type == PackageType.PKG_KICK"); this.getPomeloClient().Kick(); this.close(); } }
//Invoke by Transporter, process the message internal void processMessage(byte[] bytes) { Package pkg = PackageProtocol.decode(bytes); //Ignore all the message except handshading at handshake stage if (pkg.type == PackageType.PKG_HANDSHAKE && this.state == ProtocolState.handshaking) { //Ignore all the message except handshading JsonObject data = (JsonObject)SimpleJson.SimpleJson.DeserializeObject(Encoding.UTF8.GetString(pkg.body)); processHandshakeData(data); this.state = ProtocolState.working; } else if (pkg.type == PackageType.PKG_HEARTBEAT && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); } else if (pkg.type == PackageType.PKG_DATA && this.state == ProtocolState.working) { this.heartBeatService.resetTimeout(); pc.processMessage(messageProtocol.decode(pkg.body)); } else if (pkg.type == PackageType.PKG_KICK) { this.close(); pc.getEventManger().InvokeOnEvent(PomeloClient.EVENT_KICK, null); } }