Exemplo n.º 1
0
    public static CoopPacket Create(Coop_Model_Base model, int from_id, int to_id, bool promise, int sequence_no)
    {
        CoopPacket       coopPacket        = new CoopPacket();
        CoopPacketHeader coopPacketHeader2 = coopPacket.header = new CoopPacketHeader(model.c, from_id, to_id, promise, sequence_no);

        coopPacket.model = model;
        return(coopPacket);
    }
    protected override void OnSerializeBinaryHeader(PacketMemoryStream stream, CoopPacketHeader header)
    {
        MemoryStream memoryStream = new MemoryStream();

        packer.Pack(memoryStream, header);
        byte[] array = memoryStream.ToArray();
        memoryStream.Close();
        memoryStream = null;
        stream.WriteInt32(array.Length);
        stream.WriteBytes(array);
    }
    protected override CoopPacketHeader OnDeserializeBinaryHeader(PacketMemoryStream stream)
    {
        int len = stream.ReadInt32();

        byte[]           buffer       = stream.ReadBytes(len);
        MemoryStream     memoryStream = new MemoryStream(buffer);
        CoopPacketHeader result       = packer.Unpack <CoopPacketHeader>(memoryStream);

        memoryStream.Close();
        memoryStream = null;
        return(result);
    }
    protected override void OnSerializeStringHeader(PacketStringStream stream, CoopPacketHeader header)
    {
        int    user_token_len = (!(version == "00")) ? 1 : 11;
        string empty          = string.Empty;

        empty += ConvertUserToken(header.from, user_token_len);
        empty += ConvertUserToken(header.to, user_token_len);
        empty += ((!header.promise) ? "0" : "1");
        empty += header.sequenceNo.ToString().PadLeft(16);
        string str = empty.Length.ToString("X4");

        stream.Write(str);
        stream.Write(empty);
    }
    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 virtual void OnSerializeStringHeader(PacketStringStream stream, CoopPacketHeader header)
 {
 }
 protected virtual void OnSerializeBinaryHeader(PacketMemoryStream stream, CoopPacketHeader header)
 {
 }
 protected virtual Coop_Model_Base OnDeserializeStringModel(PacketStringStream stream, Type type, CoopPacketHeader header)
 {
     return(null);
 }
 protected virtual Coop_Model_Base OnDeserializeBinaryModel(PacketMemoryStream stream, Type type, CoopPacketHeader header)
 {
     return(null);
 }
    protected override Coop_Model_Base OnDeserializeBinaryModel(PacketMemoryStream stream, Type type, CoopPacketHeader header)
    {
        Type            modelType       = ((PACKET_TYPE)header.packetType).GetModelType();
        Coop_Model_Base coop_Model_Base = null;

        return((Coop_Model_Base)packer.Unpack(modelType, stream));
    }
    protected override Coop_Model_Base OnDeserializeBinaryModel(PacketMemoryStream stream, Type type, CoopPacketHeader header)
    {
        Type modelType = ((PACKET_TYPE)header.packetType).GetModelType();
        IMessagePackSingleObjectSerializer serializer = context.GetSerializer(modelType);

        return((Coop_Model_Base)serializer.Unpack(stream));
    }