Comments (8)
from qtzeroconf.
I'm not sure exactly what you're asking. The issue is a per client problem, inasmuch as the mixer can be discoverable on several iPads at the same time that it is not on another. We haven't had the problem at all with Android devices (I'm not sure we've done any testing on Windows).
If the Avahi Browser program can be run on a Mac, then it would be interesting to see if the alternate Bonjour toolkit could succeed when dns-sd was failing. Is that what you're interested in?
from qtzeroconf.
-
On iOS, when you call startBrowser("some_type._tcp"); are you specifying the protocol (IPv4, IPv6 or any). If you are not specifying the protocol, please call startBrowser() with the protocol specified like this....
startBrowser("some_type._tcp", QAbstractSocket::IPv4Protocol); -
Are you connecting to QZeroConf's signal serviceUpdated()? If the IP address of the device changes (switching wired to wireless), serviceUpdated() will fire and the QZeroConfService will have the new IP address. Note that if the IP address does not change when the mixer reboots, there may be no notification from zeroconf / mDNS. (this is normal) This will happen if the device (mixer) comes back online before the apox 2 zeroconf / mDNS timeout.
-
When the mixer can not be found on the iOS device, has the IP address changed? What do the working iOS devices or other browsers say the IP address of the mixer is?
-
Are you stopping the QZeroConf browser when the iOS device is put to sleep and re-starting the browser when it wakes back up again? See "iOS device sleep" in the readme and example in source code.
from qtzeroconf.
- No, I'm not specifying a protocol currently; I'll update my calls.
- Yes, I have hooked serviceUpdated, and have verified that it actually works when mixer IP addresses change. (Wired uses MFi/EAAccessory, not TCP/IP, but it is possible for the wireless address to change.) The usual case is for the IP address not to change on power cycle, so that's good information to have.
- I'm working on getting the bug to reoccur, but the case where it isn't the OS causing the problem is extremely rare, so I don't have a lot of data about what's going on.
- Yes, I stop the browser (suppressing the automatically generated loss messages for all discovered devices) at sleep and start it again after wake. In this case the app is not changing state, just the mixer, though if you have to manually toggle the WiFi network, that will cause a sleep/wake.
from qtzeroconf.
- I was wrong with this point. When no protocol is specified, it defaults to IPv4.
I did a bunch of testing the last couple of days. The serviceUpdated() signal does not work at all on Mac and windows (and probably iOS as well). It looks like I need to keep the DNSServiceRef for the resolver around until the service is removed to get (address) updates. Each resolver also needs a socket and and address socket as well. This kinda sucks having all these objects around for each service. avahi is cleaner / simpler in this regard. Hopefully your problem is related to this. I should have some new code in about a week.
from qtzeroconf.
Please replace bonjour.cpp and bonjour_p.h with the attached and see if it fixes your problem. serviceUpdated() is now working with the attached. Please note this is not finished code.
bonjour_update_fix.zip
from qtzeroconf.
I'm pretty sure that I have seen the serviceUpdated() signal fire in multiple circumstances on the Mac/iOS. I originally had it hooked to something that threw an assert, and it was going off when a mixer's IP address changed (which I believe we encountered in testing our mixer with a configurable internal router). (Early on, I think I'd assumed it was for IPv6 information, though I don't know how I arrived at that conclusion.) Anyway, I'll give the updated code a try when I get a chance, but, as I mentioned before, it's very rare to reproduce this issue, so it's also very difficult to verify fixes.
from qtzeroconf.
I was able to restore my mac finally. Turns out you can no longer download a OSX installer unless you own another MAC. I was able to reproduce the issue right away. I pushed a fix in commit d346cd7. Please verify the issue is fixed with latest commit.
from qtzeroconf.
Related Issues (20)
- qzeroconfigservice ipv4 property assigned ipv6 address HOT 18
- issue reading txtrecord of addService() HOT 3
- Library does not broadcast on Android devices HOT 1
- Windows 10 Loses Devices On WiFi Network Toggle HOT 4
- Services disappear on macOS Catalina HOT 4
- problem when renewing connexion HOT 15
- Update of TXT records
- Android: Temporary resolution failures result in service removal HOT 6
- SIGABRT on iOS HOT 4
- Segmentation fault while reading TXT records
- Android API Level 30 issues HOT 39
- No Services on iOS using test app HOT 8
- Cannot build example on FreeBSD HOT 4
- How to search for all kinds of services? HOT 4
- Use bonjour-sdk on other platforms, too? HOT 1
- SIGABRT if Avahi is not running on Linux HOT 2
- Add Qt6-Android support HOT 7
- Stopped working for ios 17 HOT 15
- Support for native Windows mDNS/DNS-SD stack HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtzeroconf.