У меня возникла проблема с использованием библиотеки JmDNS для приложения для Android.На Android, JmDNS вызывается повторно с включенной и выключенной сетью
Поскольку Bonjour не отправляет периодические сообщения о сохранении активности, я закрываю и открываю новый экземпляр JmDNS каждые 30 секунд, так что я могу вызвать вызываемые функции serviceAdded и serviceResolved.
Но между этими созданиями экземпляра, если я отключусь и на Wi-Fi, хотя создание экземпляра JmDNS завершается успешно, мои служебные и служебные функции не вызываются.
Моих основные сомнений:
1) Это нормально, чтобы воссоздать этот экземпляр снова и снова, и, следовательно, влияет на вид-опрос? Или есть лучший способ?
2) Если сеть выключена и включена, нужно ли мне что-то делать каждый раз при создании экземпляра JmDNS?
Вот отрывок из моего кода:
private void _startJmDnsService() throws IOException {
if (mJmdns != null) {
if (mJmDnsServiceListener != null) {
mJmdns.removeServiceListener(mBonjourServiceType, mJmDnsServiceListener);
mJmDnsServiceListener = null;
}
mJmdns.close();
mJmdns = null;
}
Log.d(TAG, "starting JmDNS");
mJmdns = JmDNS.create(getInet4Address());
mJmDnsServiceListener = new ServiceListener() {
public void serviceResolved(ServiceEvent ev) {
ServiceInfo serviceInfo = ev.getInfo();
Log.w(TAG, "serviceResolved for device " + serviceInfo.getName());
}
public void serviceRemoved(ServiceEvent ev) {
ServiceInfo serviceInfo = ev.getInfo();
Log.w(TAG, "serviceRemoved for device " + serviceInfo.getName());
CDevice.removeDevice(deviceId);
}
public void serviceAdded(ServiceEvent event) {
// Required to force serviceResolved to be called again
// (after the first search)
ServiceInfo serviceInfo = event.getInfo();
Log.w(TAG, "serviceAdded for device " + serviceInfo.getName());
mJmdns.requestServiceInfo(event.getType(), event.getName(), 1);
}
};
mJmdns.addServiceListener(mBonjourServiceType, mJmDnsServiceListener);
Log.w(TAG, "mJmdns Service Listener added!");
}
Привет раджат, я также работаю над Android + jmdns. Я застрял в проблеме. Можете ли вы помочь? –
@ KanakSony, я бы предложил вам опубликовать вопрос о StackOverflow и, возможно, предоставить ссылку здесь в комментариях. Если смогу, я помогу. Если нет, могут быть и другие, которые могли бы дать ответ. – rajath