Î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.