/// <summary> /// Constructs a client packet. /// </summary> internal NtpPacket(NtpMode mode, byte versionNumber, NtpTimestamp transmitTimestamp) : this() { _data[0] = SetBits(_data[0], OFFSET_VN, LENGTH_MODE, versionNumber); _data[0] = SetBits(_data[0], INDEX_BITFIELD, LENGTH_MODE, (byte)mode); CopyTimestampToData(transmitTimestamp, INDEX_TRANSMIT_TIMESTAMP); }
/// <summary> /// Initializes packet for a request /// </summary> /// <param name="versionNumber">The version number.</param> /// <param name="mode">The mode.</param> /// <param name="transmitTimestamp">The transmit timestamp.</param> public void Initialize(byte versionNumber, NtpMode mode, DateTime transmitTimestamp) { // Set version number to 3 and Mode to 3 (client) VersionNumber = versionNumber; Mode = mode; //NTPData[0] = 0x1B; // Initialize all other fields with 0 for (int i = 1; i < 48; i++) { NTPData[i] = 0; } // Initialize the transmit timestamp TransmitTimestamp = transmitTimestamp; }