Giter Site home page Giter Site logo

Comments (5)

jbagg avatar jbagg commented on August 20, 2024

What OS do you see this happening on (iOS)? On Ubuntu, the OS caches the resolve for just over a min. When I follow your procedure, I also see serviceAdded() firing for the device that doesn't exist. If you wait 1.5 min (on Ubuntu 16.04) before starting the browser then serviceAdded() will not fire as the resolve will fail.

I did find a bug........If you don't stop the browser, you are supposed to see the service disappear after about a min (on Ubuntu 16.04) when the resolve cache is updated. This bug is only confirmed for QtZeroConf backends that use Avahi. I'm not sure yet what the dnssd backend is doing in this situation....will check on the weekend. I need to keep the AvahiServiceResolvers around to get updates.

The weirdness is that I thought that QtZeroConf had a resolution step before it added a device

Correct, QtZeroConf will not emit serviceAdded() unless it can successfully resolve the service. (problem is OS cache described above)

from qtzeroconf.

wumpus7 avatar wumpus7 commented on August 20, 2024

I'm using macOS currently. I don't think this caching behavior depends on OS, though - it's probably generic to Bonjour.

I do occasionally see service removed notifications - presumably when I manage to wait long enough for it to expire from the cache. If I recall correctly, much of Bonjour operates on exponential backoffs to reduce traffic; I wouldn't be surprised if the time for the cache to purge a powered off device was variable, and possibly dependent on the time it had been on.

I've also seen what looked like spurious removals - speakers that are currently powered up suddenly reported as lost, despite the fact that I'm currently connected to them. Any idea why that might happen?

Thanks,
Alex

from qtzeroconf.

jbagg avatar jbagg commented on August 20, 2024

I tested the dnssd backend (same used on Mac) on Windows and it is working which is consistent with your findings on Mac, so I think it is just the Avahi code.

I've also seen what looked like spurious removals - speakers that are currently powered up suddenly reported as lost, despite the fact that I'm currently connected to them.

Are these speakers / devices on wifi? Have you connected to error(QZeroConf::error_t) and do you see any errors? I've got a Mac and 2 linux PCs I'm going to run overnight.

from qtzeroconf.

wumpus7 avatar wumpus7 commented on August 20, 2024

Yes, they are connected via a wifi router, and yes I'm monitoring all error signals and have seen no errors.

from qtzeroconf.

jbagg avatar jbagg commented on August 20, 2024

I suspect it is the wifi. multicast on wifi has been a disaster. I've just run the example on 2 linux PCs + Mac book for 36 hours (all wired). There was no extra removes / adds... only the original service discoveries, one for each.

from qtzeroconf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.