Beispiel #1
0
        public void ReadFromBitStream(ReadOnlyBitStream bitStream)
        {
            bool isBigEndian = bitStream.IsBigEndian();

            bitStream.SetBigEndian(true);

            version        = bitStream.ReadNibble();
            headerLength   = bitStream.ReadNibble();
            headerLength  *= 4;
            dsf            = bitStream.ReadByte();
            totalLength    = bitStream.ReadUInt16();
            identifier     = bitStream.ReadUInt16();
            flags          = bitStream.ReadUInt16();
            ttl            = bitStream.ReadByte();
            protocol       = bitStream.ReadByte();
            headerChecksum = bitStream.ReadUInt16();
            source         = bitStream.ReadBytes(4);
            destination    = bitStream.ReadBytes(4);

            bitStream.SetBigEndian(isBigEndian);

            if (protocol == 17)
            {
                datagram = new Datagram();
                datagram.ReadFromBitStream(bitStream);
            }
            else
            {
                bitStream.ReadBytes(totalLength - headerLength); // Skip if not UDP.
            }
        }
Beispiel #2
0
 public void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     timestampSeconds      = bitStream.ReadUInt32();
     timestampMicroseconds = bitStream.ReadUInt32();
     length         = bitStream.ReadUInt32();
     originalLength = bitStream.ReadUInt32();
 }
Beispiel #3
0
 public void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     destination = bitStream.ReadBytes(6);
     source      = bitStream.ReadBytes(6);
     protocol    = bitStream.ReadUInt16();
     packet      = new Packet();
     packet.ReadFromBitStream(bitStream);
 }
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     GameVersion          = packetStream.ReadUInt32();
     Unknown1             = packetStream.ReadUInt32();
     RemoteConnectionType = packetStream.ReadUInt32();
     ProcessId            = packetStream.ReadUInt32();
     LocalPort            = packetStream.ReadUInt16();
     LocalAddress         = packetStream.ReadString(33);
 }
        public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
        {
            bool isBigEndian = bitStream.IsBigEndian();

            bitStream.SetBigEndian(false);

            ClientTimeUnix = bitStream.ReadInt64();

            bitStream.SetBigEndian(isBigEndian);
        }
Beispiel #6
0
 public void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     magicNumber       = bitStream.ReadUInt32();
     versionMajor      = bitStream.ReadUInt16();
     versionMinor      = bitStream.ReadUInt16();
     timeZone          = bitStream.ReadInt32();
     timestampAccuracy = bitStream.ReadUInt32();
     snapshotLength    = bitStream.ReadUInt32();
     linkType          = bitStream.ReadUInt32();
 }
Beispiel #7
0
        private void DataGrid_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow   row       = DataGrid.Rows[e.RowIndex];
                int               pno       = Int32.Parse(row.Cells["Packet No."].Value.ToString());
                byte[]            data      = captureFile.GetPackets()[pno].GetEthernetFrame().GetPacket().GetDatagram().GetData();
                ReadOnlyBitStream bitStream = new ReadOnlyBitStream(data, true);

                DescriptionLabel.Text = matrixReader.Read(bitStream);
            }
        }
Beispiel #8
0
        public void ReadFromBitStream(ReadOnlyBitStream bitStream)
        {
            bool isBigEndian = bitStream.IsBigEndian();

            bitStream.SetBigEndian(true);

            sourcePort      = bitStream.ReadUInt16();
            destinationPort = bitStream.ReadUInt16();
            totalLength     = bitStream.ReadUInt16();
            checksum        = bitStream.ReadUInt16();
            data            = bitStream.ReadBytes(totalLength - 8);

            bitStream.SetBigEndian(isBigEndian);
        }
Beispiel #9
0
 public void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     b1  = bitStream.ReadBit();
     b2  = bitStream.ReadBit();
     b3  = bitStream.ReadBit();
     b4  = bitStream.ReadBit();
     b5  = bitStream.ReadBit();
     b6  = bitStream.ReadBit();
     b7  = bitStream.ReadBit();
     b8  = bitStream.ReadBit();
     b9  = bitStream.ReadBit();
     b10 = bitStream.ReadBit();
     b11 = bitStream.ReadBit();
 }
Beispiel #10
0
        public void ReadFromBitStream(ReadOnlyBitStream bitStream)
        {
            header = new PacketHeader();
            header.ReadFromBitStream(bitStream);

            int position = bitStream.GetBitsRead() / 8;

            data = new Ethernet.Frame();
            data.ReadFromBitStream(bitStream);

            int dataSize   = bitStream.GetBitsRead() / 8 - position;
            int difference = (int)header.GetLength() - dataSize;

            bitStream.ReadBytes(difference); // Skip padding.
        }
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     CustomName           = packetStream.ReadWideString(33);
     PredefinedNameFirst  = packetStream.ReadUInt32();
     PredefinedNameMiddle = packetStream.ReadUInt32();
     PredefinedNameLast   = packetStream.ReadUInt32();
     Unknown1             = packetStream.ReadByte();
     HeadColor            = packetStream.ReadUInt32();
     Head         = packetStream.ReadUInt32();
     ChestColor   = packetStream.ReadUInt32();
     Chest        = packetStream.ReadUInt32();
     Legs         = packetStream.ReadUInt32();
     HairStyle    = packetStream.ReadUInt32();
     HairColor    = packetStream.ReadUInt32();
     LeftHand     = packetStream.ReadUInt32();
     RightHand    = packetStream.ReadUInt32();
     EyebrowStyle = packetStream.ReadUInt32();
     EyesStyle    = packetStream.ReadUInt32();
     MouthStyle   = packetStream.ReadUInt32();
     Unknown2     = packetStream.ReadByte();
 }
Beispiel #12
0
 public void FromBitstream(ReadOnlyBitStream packetStream)
 {
     throw new NotImplementedException();
 }
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     // Nothing to unserialize.
 }
Beispiel #14
0
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     SequenceStart  = bitStream.ReadUInt16();
     GameServerPort = bitStream.ReadUInt16();
 }
Beispiel #15
0
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     ProtcolVersion = bitStream.ReadUInt32();
 }
Beispiel #16
0
        public Zone(string filePath)
        {
            this.sceneInfos = new List <SceneInfo>();

            ReadOnlyBitStream reader = new ReadOnlyBitStream(File.ReadAllBytes(filePath));

            this.Version = reader.ReadUInt32();

            if (this.Version >= 0x24)
            {
                reader.SkipBytes(4);
            }

            this.WorldId = reader.ReadUInt32();

            if (this.Version >= 0x26)
            {
                float spawnPosX = reader.ReadSingle();
                float spawnPosY = reader.ReadSingle();
                float spawnPosZ = reader.ReadSingle();

                this.SpawnPosition = new JVector(spawnPosX, spawnPosY, spawnPosZ);

                float spawnRotX = reader.ReadSingle();
                float spawnRotY = reader.ReadSingle();
                float spawnRotZ = reader.ReadSingle();
                float spawnRotW = reader.ReadSingle();

                this.SpawnRotation = new JQuaternion(spawnRotX, spawnRotY, spawnRotZ, spawnRotW);
            }
            else
            {
                this.SpawnPosition = JVector.Zero;
                this.SpawnRotation = new JQuaternion(0.0f, 0.0f, 0.0f, 0.0f);
            }

            uint sceneCount;

            if (this.Version >= 0x25)
            {
                sceneCount = reader.ReadUInt32();
            }
            else
            {
                sceneCount = reader.ReadByte();
            }

            for (uint i = 0; i < sceneCount; i++)
            {
                byte   sceneFileNameLength = reader.ReadByte();
                string sceneFileName       = String.Empty;

                for (byte b = 0; b < sceneFileNameLength; b++)
                {
                    byte c = reader.ReadByte();

                    sceneFileName += (char)c;
                }

                reader.SkipBytes(1);
                reader.SkipBytes(3);
                reader.SkipBytes(1);
                reader.SkipBytes(3);

                byte   sceneNameLength = reader.ReadByte();
                string sceneName       = String.Empty;

                for (byte b = 0; b < sceneNameLength; b++)
                {
                    byte c = reader.ReadByte();

                    sceneName += (char)c;
                }

                sceneInfos.Add(new SceneInfo(sceneName, sceneFileName));
            }

            reader.SkipBytes(1);

            byte length = reader.ReadByte();

            for (byte b = 0; b < length; b++)
            {
                reader.SkipBytes(1);
            }

            length = reader.ReadByte();

            for (byte b = 0; b < length; b++)
            {
                reader.SkipBytes(1);
            }

            length = reader.ReadByte();

            for (byte b = 0; b < length; b++)
            {
                reader.SkipBytes(1);
            }

            // SCENE TRANSITIONS
        }
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     PlayerId = packetStream.ReadInt64();
 }
        public override void Run()
        {
            while (!terminationRequested || !incomingPacketQueue.IsEmpty)
            {
                IncomingDatagramPacket packet;

                if (incomingPacketQueue.TryDequeue(out packet))
                {
                    ReadOnlyBitStream packetStream = new ReadOnlyBitStream(packet.Data);

                    byte rakNetPacketId = packetStream.ReadByte();

                    switch (rakNetPacketId)
                    {
                    case 17:     // ID_NEW_INCOMING_CONNECTION
                    {
                        Server.Instance.Scheduler.RunTask(() => Server.Instance.EventManager.Publish(new ClientConnectEvent(packet.SourceAddress, packet.SourcePort, packet.DestinationAddress, packet.DestinationPort)));
                        break;
                    }

                    case 19:     // ID_DISCONNECTION_NOTIFICATION
                    case 20:     // ID_CONNECTION_LOST
                    {
                        Server.Instance.Scheduler.RunTask(() => Server.Instance.EventManager.Publish(new ClientDisconnectEvent(packet.SourceAddress, packet.SourcePort, packet.DestinationAddress, packet.DestinationPort)));
                        break;
                    }

                    case 83:     // ID_USER_PACKET_ENUM
                    {
                        try
                        {
                            RemoteConnectionType remoteConnectionType = (RemoteConnectionType)packetStream.ReadUInt16();
                            uint luPacketId = packetStream.ReadUInt32();

                            packetStream.SkipBytes(1);

                            IUnserializable gamePacket = null;

                            switch (remoteConnectionType)
                            {
                            case RemoteConnectionType.General:
                            {
                                GeneralPacketId generalPacketId = (GeneralPacketId)luPacketId;

                                switch (generalPacketId)
                                {
                                case GeneralPacketId.MSG_SERVER_VERSION_CONFIRM:
                                {
                                    gamePacket = new GeneralVersionConfirmPacket();
                                    break;
                                }

                                default:
                                {
                                    Server.Instance.Logger.Log("Received an unknown LU packet. generalPacketId=" + generalPacketId);
                                    break;
                                }
                                }

                                break;
                            }

                            case RemoteConnectionType.Auth:
                            {
                                AuthPacketId authPacketId = (AuthPacketId)luPacketId;

                                switch (authPacketId)
                                {
                                case AuthPacketId.MSG_AUTH_LOGIN_REQUEST:
                                {
                                    gamePacket = new AuthLoginRequestPacket();
                                    break;
                                }

                                default:
                                {
                                    Server.Instance.Logger.Log("Received an unknown LU packet. authPacketId=" + authPacketId);
                                    break;
                                }
                                }

                                break;
                            }

                            case RemoteConnectionType.World:
                            {
                                WorldPacketId worldPacketId = (WorldPacketId)luPacketId;

                                switch (worldPacketId)
                                {
                                case WorldPacketId.MSG_WORLD_CLIENT_VALIDATION:
                                {
                                    gamePacket = new WorldValidationPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_CHARACTER_LIST_REQUEST:
                                {
                                    gamePacket = new WorldCharacterListRequestPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_CHARACTER_CREATE_REQUEST:
                                {
                                    gamePacket = new WorldCharacterCreateRequestPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_CHARACTER_DELETE_REQUEST:
                                {
                                    gamePacket = new WorldCharacterDeleteRequestPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_CHARACTER_RENAME_REQUEST:
                                {
                                    gamePacket = new WorldCharacterRenameRequestPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_LOGIN_REQUEST:
                                {
                                    gamePacket = new WorldLoginRequestPacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_LEVEL_LOAD_COMPLETE:
                                {
                                    gamePacket = new WorldLevelLoadCompletePacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_POSITION_UPDATE:
                                {
                                    gamePacket = new WorldPositionUpdatePacket();
                                    break;
                                }

                                case WorldPacketId.MSG_WORLD_CLIENT_GAME_MSG:
                                {
                                    long   objectId      = packetStream.ReadInt64();
                                    ushort gameMessageId = packetStream.ReadUInt16();

                                    switch (gameMessageId)
                                    {
                                    case (ushort)GameMessageId.PlayerLoaded:
                                    {
                                        gamePacket = new PlayerLoadedGameMessage(objectId);
                                        break;
                                    }

                                    default:
                                    {
                                        Server.Instance.Logger.Log("Received an unknown LU packet. gameMessageId=" + gameMessageId);
                                        break;
                                    }
                                    }
                                    break;
                                }

                                default:
                                {
                                    Server.Instance.Logger.Log("Received an unknown LU packet. worldPacketId=" + worldPacketId);
                                    break;
                                }
                                }

                                break;
                            }

                            default:
                            {
                                Server.Instance.Logger.Log("Received an unknown LU packet. remoteConnectionType=" + remoteConnectionType);
                                break;
                            }
                            }

                            if (gamePacket != null)
                            {
                                gamePacket.FromBitStream(packetStream);

                                Server.Instance.Scheduler.RunTask(() => Server.Instance.EventManager.Publish(new GamePacketReceiveEvent(packet.SourceAddress, packet.SourcePort, packet.DestinationAddress, packet.DestinationPort, gamePacket)));
                            }
                        }
                        catch (Exception exc)
                        {
                            StackTrace stackTrace = new StackTrace(exc, true);
                            StackFrame stackFrame = stackTrace.GetFrame(0);

                            string fileName   = stackFrame.GetFileName();
                            int    fileLine   = stackFrame.GetFileLineNumber();
                            int    fileColumn = stackFrame.GetFileColumnNumber();

                            Server.Instance.Logger.Log("Received an invalid game packet. address=" + packet.SourceAddress + " port=" + packet.SourcePort + " exception=" + exc.Message + " stackTrace=" + fileName + ":" + fileLine + ":" + fileColumn);
                        }

                        break;
                    }

                    default:
                    {
                        Server.Instance.Logger.Log("Received an unknown RakNet packet. rakNetPacketId=" + rakNetPacketId);
                        break;
                    }
                    }
                }
                else
                {
                    Thread.Sleep(1);
                }
            }
        }
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     CharacterId = packetStream.ReadInt64();
 }
Beispiel #20
0
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     SequenceNumber1 = bitStream.ReadUInt16();
     SequenceNumber2 = bitStream.ReadUInt16();
 }
Beispiel #21
0
        public string Read(ReadOnlyBitStream bitStream)
        {
            StringWriter output           = new StringWriter();
            uint         socketIdentifier = bitStream.ReadUInt32();
            bool         isHandshake      = socketIdentifier == 0;

            output.WriteLine("Is Handshake: " + isHandshake);
            output.WriteLine("Socket ID: " + socketIdentifier);

            if (isHandshake)
            {
                string messageIdentifier = "";

                for (int i = 0; i < 4; i++)
                {
                    messageIdentifier += (char)bitStream.ReadByte();
                }

                output.WriteLine("Message ID: " + messageIdentifier);

                if (handshakeStructs.ContainsKey(messageIdentifier))
                {
                    handshakeStructs[messageIdentifier].ReadFromBitStream(bitStream);
                    handshakeStructs[messageIdentifier].WriteToTextWriter(output);
                }
            }
            else
            {
                byte        channel     = bitStream.ReadCrumb();
                byte        resendCount = bitStream.ReadCrumb();
                bool        isSplit     = bitStream.ReadBit();
                Util.UInt11 length      = new Util.UInt11();

                length.ReadFromBitStream(bitStream);

                output.WriteLine("Channel: " + channel);
                output.WriteLine("Resend Count: " + resendCount);
                output.WriteLine("Is Split: " + isSplit);
                output.WriteLine("Length: " + length);

                if (channel == 0)
                {
                    byte messageIdentifier = bitStream.ReadByte();

                    output.Write("Message ID: " + messageIdentifier);

                    if (channel0Structs.ContainsKey(messageIdentifier))
                    {
                        Structure srct = channel0Structs[messageIdentifier];

                        output.WriteLine(" (" + srct.GetType().Name + ")");

                        srct.ReadFromBitStream(bitStream);
                        srct.WriteToTextWriter(output);
                    }
                }
            }

            if (bitStream.GetBitsUnread() > 0)
            {
                output.WriteLine();

                if (bitStream.GetBitsUnread() % 8 == 0)
                {
                    output.WriteLine("Unread Bytes:");
                    byte[] bytes = bitStream.ReadBytes(bitStream.GetBitsUnread() / 8);

                    for (int i = 0; i < bytes.Length; i++)
                    {
                        output.WriteLine(bytes[i]);
                    }
                }
                else
                {
                    output.WriteLine("Unread Bits:");

                    for (int i = 0; i < bitStream.GetBitsUnread(); i++)
                    {
                        output.WriteLine(bitStream.ReadBit() ? 1 : 0);
                    }
                }
            }

            return(output.ToString());
        }
Beispiel #22
0
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     AssignedSocketIdentifier = bitStream.ReadUInt32();
 }
Beispiel #23
0
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     Username = packetStream.ReadWideString(33);
     Password = packetStream.ReadWideString(41);
 }
Beispiel #24
0
        public void Load()
        {
            byte[]            fileData  = System.IO.File.ReadAllBytes(filePath);
            ReadOnlyBitStream bitStream = new ReadOnlyBitStream(fileData);

            header    = new GlobalHeader();
            packets   = new List <Packet>();
            dataTable = new DataTable();

            header.ReadFromBitStream(bitStream);

            while (bitStream.GetBitsUnread() > 0)
            {
                Packet packet = new Packet();

                packet.ReadFromBitStream(bitStream);

                packets.Add(packet);
            }

            DataColumn column;

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.UInt32");
            column.ColumnName = "Packet No.";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.String");
            column.ColumnName = "Time";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.String");
            column.ColumnName = "Source Address";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.UInt16");
            column.ColumnName = "Source Port";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.String");
            column.ColumnName = "Destination Address";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            column            = new DataColumn();
            column.DataType   = Type.GetType("System.UInt16");
            column.ColumnName = "Destination Port";
            column.ReadOnly   = true;
            dataTable.Columns.Add(column);

            int pno = 0;

            foreach (Packet packet in packets)
            {
                if (packet.GetEthernetFrame().GetPacket().GetDatagram() != null)
                {
                    byte[]  udpData = packet.GetEthernetFrame().GetPacket().GetDatagram().GetData();
                    DataRow row     = dataTable.NewRow();

                    DateTime time = new DateTime(packet.GetHeader().GetTimestampSeconds() * TimeSpan.TicksPerSecond);

                    time = time.AddMilliseconds((double)packet.GetHeader().GetTimestampMicroseconds() / 1000d / 1000d);

                    row["Packet No."]          = pno++;
                    row["Time"]                = time.ToString("HH:mm:ss.fff");
                    row["Source Address"]      = packet.GetEthernetFrame().GetPacket().GetSourceAsString();
                    row["Destination Address"] = packet.GetEthernetFrame().GetPacket().GetDestinationAsString();
                    row["Source Port"]         = packet.GetEthernetFrame().GetPacket().GetDatagram().GetSourcePort();
                    row["Destination Port"]    = packet.GetEthernetFrame().GetPacket().GetDatagram().GetDestinationPort();

                    dataTable.Rows.Add(row);
                }
            }
        }
Beispiel #25
0
 public abstract void ReadFromBitStream(ReadOnlyBitStream bitStream);
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     Zeros = bitStream.ReadUInt64();
 }
Beispiel #27
0
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     CharacterId = packetStream.ReadInt64();
     NewName     = packetStream.ReadWideString(33);
 }
        public void FromBitStream(ReadOnlyBitStream packetStream)
        {
            float positionX = packetStream.ReadSingle();
            float positionY = packetStream.ReadSingle();
            float positionZ = packetStream.ReadSingle();

            Position = new JVector(positionX, positionY, positionZ);

            float rotationX = packetStream.ReadSingle();
            float rotationY = packetStream.ReadSingle();
            float rotationZ = packetStream.ReadSingle();
            float rotationW = packetStream.ReadSingle();

            Rotation = new JQuaternion(rotationX, rotationY, rotationZ, rotationW);

            IsSupported = packetStream.ReadBit();
            IsOnRail    = packetStream.ReadBit();

            bool flag = packetStream.ReadBit();

            if (flag)
            {
                float linearVelocityX = packetStream.ReadSingle();
                float linearVelocityY = packetStream.ReadSingle();
                float linearVelocityZ = packetStream.ReadSingle();

                LinearVelocity = new JVector(linearVelocityX, linearVelocityY, linearVelocityZ);
            }

            flag = packetStream.ReadBit();

            if (flag)
            {
                float angularVelocityX = packetStream.ReadSingle();
                float angularVelocityY = packetStream.ReadSingle();
                float angularVelocityZ = packetStream.ReadSingle();

                AngularVelocity = new JVector(angularVelocityX, angularVelocityY, angularVelocityZ);
            }

            flag = packetStream.ReadBit();

            if (flag)
            {
                LocalSpaceObjectId = packetStream.ReadInt64();

                float localPositionX = packetStream.ReadSingle();
                float localPositionY = packetStream.ReadSingle();
                float localPositionZ = packetStream.ReadSingle();

                LocalPosition = new JVector(localPositionX, localPositionY, localPositionZ);

                flag = packetStream.ReadBit();

                if (flag)
                {
                    float localLinearVelocityX = packetStream.ReadSingle();
                    float localLinearVelocityY = packetStream.ReadSingle();
                    float localLinearVelocityZ = packetStream.ReadSingle();

                    LocalLinearVelocity = new JVector(localLinearVelocityX, localLinearVelocityY, localLinearVelocityZ);
                }
            }
        }
Beispiel #29
0
 public void FromBitStream(ReadOnlyBitStream packetStream)
 {
     Username    = packetStream.ReadWideString(33);
     SessionKey  = packetStream.ReadWideString(33);
     FdbChecksum = packetStream.ReadBytes(33);
 }
Beispiel #30
0
 public override void ReadFromBitStream(ReadOnlyBitStream bitStream)
 {
     AssignedSocketIdentifier = bitStream.ReadUInt32();
     StreamingProtocolVersion = bitStream.ReadUInt16();
 }