Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="buffer"></param>
        /// <param name="offset"></param>
        /// <returns></returns>
        public int ToArray(byte[] buffer, int offset)
        {
            NetworkHelpers.CopyTo((ushort)this.Code, buffer, offset);
            int payloadLength = this.ToBuffer(buffer, offset + 4);

            this.Length = Convert.ToUInt16(payloadLength + 4);
            NetworkHelpers.CopyTo(this.Length, buffer, offset + 2);
            return(this.Length);
        }
Beispiel #2
0
        /// <summary>
        /// Converts the TCB into a byte array.
        /// </summary>
        /// <returns></returns>
        public byte[] ToArray()
        {
            byte[] buffer = new byte[40];

            byte[] sourceAddress      = this.SourceEndPoint.Address.GetAddressBytes();
            byte[] destinationAddress = this.DestinationEndPoint.Address.GetAddressBytes();

            int offset = 0;

            offset += NetworkHelpers.CopyTo(this.CreationTime.Ticks, buffer, offset);
            offset += NetworkHelpers.CopyTo(this.Lifetime.Ticks, buffer, offset);
            offset += NetworkHelpers.CopyTo(sourceAddress.Length, buffer, offset);
            offset += NetworkHelpers.CopyTo(sourceAddress, buffer, offset, false);
            offset += NetworkHelpers.CopyTo(this.SourceEndPoint.Port, buffer, offset);
            offset += NetworkHelpers.CopyTo(destinationAddress.Length, buffer, offset);
            offset += NetworkHelpers.CopyTo(destinationAddress, buffer, offset, false);
            offset += NetworkHelpers.CopyTo(this.DestinationEndPoint.Port, buffer, offset);

            return(buffer);
        }