当前位置: 首页>>代码示例>>C#>>正文


C# Serializer.GetBytes方法代码示例

本文整理汇总了C#中GameRevision.GW2Emu.Common.Serialization.Serializer.GetBytes方法的典型用法代码示例。如果您正苦于以下问题:C# Serializer.GetBytes方法的具体用法?C# Serializer.GetBytes怎么用?C# Serializer.GetBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GameRevision.GW2Emu.Common.Serialization.Serializer的用法示例。


在下文中一共展示了Serializer.GetBytes方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Compress

        public byte[] Compress(byte[] buffer)
        {
            byte[] compressed = compressor.Compress(buffer);

            Serializer serializer = new Serializer();
            serializer.Write((short)compressed.Length);
            serializer.Write((short)buffer.Length);
            serializer.Write(compressed);

            return serializer.GetBytes();
        }
开发者ID:puppt,项目名称:GW2Emu,代码行数:11,代码来源:LZ4Compressor.cs

示例2: ToBytes

        public static byte[] ToBytes(uint[] uints)
        {
            Serializer serializer = new Serializer();
            serializer.Write(uints[0]);
            serializer.Write(uints[1]);
            serializer.Write(uints[2]);
            serializer.Write(uints[3]);
            serializer.Write(uints[4]);

            return serializer.GetBytes();
        }
开发者ID:puppt,项目名称:GW2Emu,代码行数:11,代码来源:CryptoUtils.cs

示例3: Serialize

        public byte[] Serialize(ISession session, IMessage message)
        {
            // serialize the data into a bytestream
            Serializer serializer = new Serializer();
            message.Serialize(serializer);

            // postprocessing...
            byte[] compressed = this.compressor.Compress(serializer.GetBytes());
            byte[] encrypted = this.encryptor.Encrypt(compressed);

            return encrypted;
        }
开发者ID:puppt,项目名称:GW2Emu,代码行数:12,代码来源:ConnectedState.cs

示例4: Deserialize

        public IEnumerable<IMessage> Deserialize(ISession session, byte[] data)
        {
            Deserializer deserializer = new Deserializer(data);

            while (deserializer.BaseStream.Position < deserializer.BaseStream.Length)
            {
                byte header = deserializer.ReadByte();
                byte length = deserializer.ReadByte();

                switch (length)
                {
                    case 0x05: // Version
                        deserializer.BaseStream.Position += 2;
                        /*this.clientVersion = */deserializer.ReadUInt32();
                        deserializer.BaseStream.Position += 56; // Probably wrong offset
                        break;

                    case 0x42: // PublicKey
                        byte[] publicKey = deserializer.ReadBytes(64);
                        byte[] sharedKey = DiffieHellman.GenerateSharedKey(publicKey, Keys.PrivateKey, Keys.Prime);
                        byte[] randomBytes = CryptoUtils.GetRandomBytes();
                        byte[] hashedRandomBytes = CryptoUtils.Hash(randomBytes);
                        byte[] xoredRandomBytes = CryptoUtils.XOR(randomBytes, sharedKey);
                        this.key = hashedRandomBytes;

                        Serializer serializer = new Serializer();
                        serializer.Write((byte)0x01); // RC4Seed Header
                        serializer.Write((byte)0x16); // RC4Seed Length
                        serializer.Write(xoredRandomBytes); // xored RC4Key

                        session.Send(serializer.GetBytes());

                        session.State = prepareNewState();

                        break;

                    default:
                        Console.WriteLine("Unhandled packet, header: {0}, length: {1}", header, length);
                        break;
                }
            }

            // mock up, since we return the byte-encoded messages directly
            return new IMessage[] {};
        }
开发者ID:puppt,项目名称:GW2Emu,代码行数:45,代码来源:HandshakeState.cs


注:本文中的GameRevision.GW2Emu.Common.Serialization.Serializer.GetBytes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。