byte data[] = intf.getAddress(); int ip = ((data[0] & 0xFF) << 24) | ((data[1] & 0xFF) << 16) | ((data[2] & 0xFF) << 8) | (data[3] & 0xFF); host = new DNSRecord.Address(name, TYPE_A, CLASS_IN, 30*60, ip);
    void init(InetAddress intf) throws IOException    {	group = InetAddress.getByName(MDNS_GROUP);	socket = new MulticastSocket(MDNS_PORT);	if (intf != null) {	    socket.setInterface(intf);	}	socket.setTimeToLive(255);	socket.joinGroup(group);	cache = new DNSCache(100);	listeners = new Vector();	browsers = new Vector();	services = new Hashtable(20);	new Thread(new SocketListener(), "JmDNS.SocketListener").start();	new Thread(new RecordReaper(), "JmDNS.RecordReaper").start();	shutdown = new Thread(new Shutdown(), "JmDNS.Shutdown");	Runtime.getRuntime().addShutdownHook(shutdown);    }