private static async void BeginReceiveMessageLoop() { while (IsJoined) { UdpAnySourceMulticastClientReceieveFromGroupResult result; try { result = await _client.ReceiveFromGroupAsync(_receiveBuffer, 0, _receiveBuffer.Length); } catch { return; } // Parse the incoming message Message message; try { message = Message.FromBytes(_receiveBuffer, 0, result.Length); } catch { _log.Info("Dropped malformed packet from " + result.Source); return; } _log.Debug("Received " + message.Summary); _log.Trace("Message details (received from {0}):\n{1}", result.Source, message.ToString()); SendMessageToListeners(message); } }