public void Listen()
        {
            _listeningSocket = _socketFactory.CreateListeningSocket();

            EndPoint remoteEndpoint = new IPEndPoint(IPAddress.Any, Constants.MulticastPort);
            var listenerState = new ListenerState();

            _listeningSocket.BeginReceiveFrom(listenerState.Buffer,
                ref remoteEndpoint, OnReceive, listenerState);

            _stopped = false;
            _started = true;
        }