import javax.jmdns.JmDNS;
import javax.jmdns.ServiceInfo;
import javax.jmdns.ServiceListener;
import java.io.IOException;
import java.net.InetAddress;
public class NetworkServiceDiscoveryExample {
public static void main(String[] args) {
try {
JmDNS jmdns = JmDNS.create(InetAddress.getLocalHost());
ServiceInfo serviceInfo = ServiceInfo.create("_http._tcp.local.", "example_service", 8000, "example service");
jmdns.registerService(serviceInfo);
jmdns.addServiceListener("_http._tcp.local.", new ServiceListener() {
@Override
public void serviceAdded(javax.jmdns.ServiceEvent event) {
System.out.println("Service Added: " + event.getInfo());
}
@Override
public void serviceRemoved(javax.jmdns.ServiceEvent event) {
System.out.println("Service Removed: " + event.getInfo());
}
@Override
public void serviceResolved(javax.jmdns.ServiceEvent event) {
System.out.println("Service Resolved: " + event.getInfo());
}
});
Thread.sleep(10000);
jmdns.unregisterService(serviceInfo);
jmdns.close();
e.printStackTrace();
}
}
}