Пример #1
0
        /// <summary>
        /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and
        /// serializes it into the wire format.
        /// </summary>
        /// <param name="messageType">The message type.</param>
        /// <param name="sourceAddress">The IP address of the message source.</param>
        /// <param name="broadcastGroup">The broadcast group.</param>
        /// <param name="payload">The broadcast packet payload.</param>
        /// <returns>The packet bytes.</returns>
        private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, IPAddress sourceAddress, int broadcastGroup, byte[] payload)
        {
            var message = new UdpBroadcastMessage(messageType, sourceAddress, broadcastGroup, payload);

            if (FixedTimestampUtc > DateTime.MinValue)
            {
                message.TimeStampUtc = FixedTimestampUtc;
            }

            return(message.ToArray(settings.SharedKey));
        }
Пример #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="messageType">The message type.</param>
        /// <param name="sourceAddress">The IPv4 address of the packet source.</param>
        /// <param name="broadcastGroup">The broadcast group.</param>
        /// <param name="payload">The broadcast packet payload.</param>
        /// <exception cref="InvalidOperationException">Thrown if an non IPv4 address is set as the packet source.</exception>
        public UdpBroadcastMessage(UdpBroadcastMessageType messageType, IPAddress sourceAddress, int broadcastGroup, byte[] payload)
        {
            if (payload == null)
            {
                payload = EmptyPayload;
            }

            this.MessageType    = messageType;
            this.TimeStampUtc   = DateTime.UtcNow;
            this.SourceAddress  = sourceAddress;
            this.BroadcastGroup = broadcastGroup;
            this.Payload        = payload;
        }
Пример #3
0
 /// <summary>
 /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and
 /// serializes it into the wire format.
 /// </summary>
 /// <param name="messageType">The message type.</param>
 /// <param name="broadcastGroup">The broadcast group.</param>
 /// <param name="payload">The broadcast packet payload.</param>
 /// <returns>The packet bytes.</returns>
 private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, int broadcastGroup, byte[] payload)
 {
     return(GetMessageBytes(messageType, IPAddress.Any, broadcastGroup, payload));
 }
Пример #4
0
 /// <summary>
 /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and
 /// serializes it into the wire format.
 /// </summary>
 /// <param name="messageType">The message type.</param>
 /// <returns>The packet bytes.</returns>
 private byte[] GetMessageBytes(UdpBroadcastMessageType messageType)
 {
     return(GetMessageBytes(messageType, 0, null));
 }
Пример #5
0
 /// <summary>
 /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and
 /// serializes it into the wire format.
 /// </summary>
 /// <param name="messageType">The message type.</param>
 /// <returns>The packet bytes.</returns>
 /// <param name="broadcastGroup">The broadcast group.</param>
 private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, int broadcastGroup)
 {
     return(GetMessageBytes(messageType, broadcastGroup, null));
 }
Пример #6
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="messageType">The message type.</param>
 /// <param name="broadcastGroup">The broadcast group.</param>
 public UdpBroadcastMessage(UdpBroadcastMessageType messageType, int broadcastGroup)
     : this(messageType, IPAddress.Any, broadcastGroup, null)
 {
 }
Пример #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="messageType">The message type.</param>
 public UdpBroadcastMessage(UdpBroadcastMessageType messageType)
     : this(messageType, IPAddress.Any, 0, null)
 {
 }