Înregistrarea / Deînregistrarea unui Serviciu
Pentru înregistrarea unui serviciu, se apelează metoda
registerService(ServiceInfo)
din clasa JmDNS, ulterior serviciul putând fi accesat din cadrul altor
mașini fizice / dispozitive mobile.
Pentru deînregistrarea unui serviciu, se poate apela una din
metodele
unregisterService(ServiceInfo),
respectiv
unregisterAllServices()
din clasa JmDNS.
Note
Aceste metode primesc ca parametru un obiect de tip
ServiceInfo, ce reține informații precum denumirea și tipul
serviciului, adresa și portul mașinii / dispozitivului pe care va fi
disponibil (ce pot fi preluate, din cadrul unui obiect de tip
ServerSocket).
public void registerNetworkService() throws Exception {
chatServer = new ChatServer(this);
ServerSocket serverSocket = chatServer.getServerSocket();
if (serverSocket == null) {
throw new Exception("Could not get server socket");
}
chatServer.start();
ServiceInfo serviceInfo = ServiceInfo.create(
Constants.SERVICE_TYPE,
Constants.SERVICE_NAME,
port,
Constants.SERVICE_DESCRIPTION
);
if (jmDns != null && serviceInfo != null) {
serviceName = serviceInfo.getName();
jmDns.registerService(serviceInfo);
}
}
public void unregisterNetworkService() {
if (jmDns != null) {
jmDns.unregisterAllServices();
}
chatServer.stopThread();
* ...
}
Note
JmDNS nu oferă informații cu privire la rezultatul operațiilor de înregistrare / deînregistrare.