-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux-based client will not resolve service #40
Comments
I think this issue might be related: In that case, I seem to have put in place logic that prevented the library from attempting resolve twice, so I'll dig in and see if that is not functioning correctly. I'm currently working on tag 0.7.0 since I was getting the fatal errors on 0.8.0: |
I did some debugging with
|
You're passing incorrect arguments to dns-sd:
The name is the Instance Name as printed by the browse tool (RoverController). To resolve this service: (domain is optional)
Regarding the issue with 0.8.0, I've found the problem: the version of swift installed by me is overridden on CI. Will publish a new version in the next few days after I've sorted that CI issue. |
I corrected the arguments but I'm getting a "-1" error message:
|
Could you change the following line:
To:
The -1 error is a generic error code, with this change it should give a clear error message + code. |
Here's the edit I made per your request, on a fork: For some reason,
|
I've implemented this in a similar way on a Raspberry Pi 3 running Ubuntu 16.04/Swift v5.1.2 and it successfully resolves. The Zero I'm having the issue on is running Raspbian Buster/Swift v5.1.5. It's possible there are configuration differences between them as I setup the RPi 3 over a year ago. The connection fails because of "Connection Refused" message that I think is coming from the BlueSocket framework, so probably unrelated to the browsing issue. |
I reverted to tag 0.7.0 and still see the resolving problem, if that tells you anything. |
I'm afraid I don't know what error number -2 means. I've run into issues on ARM before, however I'm currently on 5.1.5 myself as well:
Can you include a stack trace when the delegate is called? (e.g. |
Here's the trace from the
|
I moved forward to 8.1.0 (from 7.0.0) on my RPi 3 and it resolved but I now get a Connection Refused error: If that's indicating some type of barrier on iOS, perhaps that is what's keeping my RPi Zero from resolving? I realized that's kind of a long-shot. Any ideas on why an iOS would be refusing connections? Probably related to my socket framework but thought I would ask anyway! |
I solved the connection refused issue. Will be testing on the RPi Zero (Raspbian Buster) later today so don't invest any time in this just yet. |
I've got everything working from an RPi 3 running Ubuntu Mate to an iOS device, but unfortunately it is exhibit the same resolving problem with RPi Zero running Raspbian Buster. Any thoughts? In my research it seems Ubuntu is not available for the Zero. |
I'm attempting to browse for a Bonjour service from a Linux client running on Raspbian Buster on a Raspberry Pi Zero W that is published by an iOS server . Although it finds the service, it does not resolve.
This delegate method is called:
public func netService(_ sender: NetService, didNotResolve errorDict: [String: NSNumber])
The error provided is:
["NSNetServicesErrorCode": -1, "NSNetServicesErrorDomain": 10]
I thought I had this Linux-based client browsing/resolution working under Linux about a year or two ago, although that was with Ubuntu Mate, and perhaps I made a configuration change to that install.
I used avahi-browse to look for the service and it is published:
`Server version: avahi 0.7; Host name: goose.local
E Ifce Prot Name Type Domain
= wlan0 IPv6 RoverController _RemoteLogging._tcp local
hostname = [Robs-iPad-Pro.local]
address = [192.168.86.35]
port = [63252]
txt = []
= wlan0 IPv4 RoverController _RemoteLogging._tcp local
hostname = [Robs-iPad-Pro.local]
address = [192.168.86.35]
port = [63252]
txt = []
: Cache exhausted
: All for now
`
That same Linux host is itself running a service and iOS devices are able to connect to that no problem.
Thanks.
The text was updated successfully, but these errors were encountered: