public void Start() { IPAddress address = _endpoint.EndPointIPAddress; AddressFamily family = address.AddressFamily; // Multicast socket - used for receiving multicast GENA event messages Socket socket = new Socket(family, SocketType.Dgram, ProtocolType.Udp); _endpoint.GENA_UDP_MulticastReceiveSocket = socket; try { socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1); NetworkHelper.BindAndConfigureGENAMulticastSocket(socket, address); StartReceive(new UDPAsyncReceiveState <EndpointConfiguration>(_endpoint, UPnPConsts.UDP_GENA_RECEIVE_BUFFER_SIZE, socket)); } catch (Exception e) // SocketException, SecurityException { UPnPConfiguration.LOGGER.Info("GENAClientController: Unable to bind to multicast address(es) for endpoint '{0}'", e, NetworkHelper.IPAddrToString(address)); } }