code: @Override
  	protected void connect() throws Exception {
  
  		// Start multicast receiver
  		multicastReceiver = new MulticastSocket(udpPort);
  		multicastReceiver.setReuseAddress(udpReuseAddr);
  
  		InetAddress inetAddress = InetAddress.getByName(udpAddress);
  		if (netIf == null) {
  			multicastReceiver.joinGroup(inetAddress);
  		} else {
  			InetSocketAddress socketAddress = new InetSocketAddress(inetAddress, udpPort);
  			try {
  				multicastReceiver.joinGroup(socketAddress, netIf);
  			} catch (Exception unsupportedAddress) {
  				disconnect();
  				return;
  			}
  		}
  
  		// Start thread
  		super.connect();
  
  		// Log
  		String msg = "Multicast discovery service started on udp://" + udpAddress + ':' + udpPort;
  		if (netIf == null) {
  			logger.info(msg + '.');
  		} else {
  			logger.info(msg + " (" + netIf.getDisplayName() + ").");
  		}
  	}
docs: --- CONNECT ---