protected override Coop_Model_Base OnDeserializeStringModel(PacketStringStream stream, Type type, CoopPacketHeader header) { string message = stream.Read(); Coop_Model_Base coop_Model_Base = JSONSerializer.Deserialize <Coop_Model_Base>(message); Type modelType = ((PACKET_TYPE)coop_Model_Base.c).GetModelType(); return(JSONSerializer.Deserialize <Coop_Model_Base>(message, modelType)); }
protected override CoopPacketHeader OnDeserializeStringHeader(PacketStringStream stream) { string text = stream.Read(4); int len = (!(version == "00")) ? 1 : 11; int position = stream.Position; string user_token = stream.Read(len); string user_token2 = stream.Read(len); string a = stream.Read(1); string s = stream.Read(16); int num = stream.Position - position; if (num.ToString("X4") != text) { Log.Error(LOG.WEBSOCK, "break header packet! {0} != {1}", num, int.Parse(text, NumberStyles.HexNumber)); } int from = ConvertClientId(user_token); int to = ConvertClientId(user_token2); bool promise = a == "1"; int sequence_no = int.Parse(s); return(new CoopPacketHeader(0, from, to, promise, sequence_no)); }
protected override void OnDeserializeStringPrefix(PacketStringStream stream) { version = stream.Read("10".Length); }