@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() + ").");
		}
	}
@ Override protected void connect ( ) throws Exception { 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 ; } } super . connect ( ) ; String msg = "Multicast discovery service started on udp://" + udpAddress + ':' + udpPort ; if ( netIf == null ) { logger . info ( msg + '.' ) ; } else { logger . info ( msg + " (" + netIf . getDisplayName ( ) + ")." ) ; } }
--- CONNECT ---