Comments (2)
Hey,
Great, this could even be related to #89. Feel free to open a PR once you're ready π
from bonsoir.
Describe the bug When calling resolve on a lot services (10+) on iOS there is potential for a crash in DNSServiceProcessResult() function. This can happen because the underlying socket is not available anymore. To fix this, I've implemented asynchronous socket access with DispatchSourceRead. The code can be seen in my fork https://github.com/foxik0169/Bonsoir/tree/5.1.9-stream. There are more changes because I went ahead and make the DNSServiceProcessResult() call work concurently and then send the messages to Flutter on main thread.
To Reproduce Part of the issue is that is not easily reproducible. For my network setup (hotspot on PC and 3 wifi devices connected) it did not happen at all. However when on a wifi that contains a lot of services (10+) with the type that I am trying to resolve, it might crash. All these devices are being resolved at the same time.
Expected behavior No crashes in the native code.
Smartphone (please complete the following information):
- Device: iPhone 12
- OS: iOS 17.4.1
hey, I am facing the same problem. And Thanks for your solution. Would you open a PR for this issueπ©·
from bonsoir.
Related Issues (20)
- Resolver cuts attribute keys to 9 characters HOT 1
- Getting the IP/address of BonsoirDiscoveryEvent HOT 3
- More pub points HOT 2
- Example page is not relevent HOT 1
- Crashes related to messages being sent from native to Flutter on non-platform thread HOT 4
- Customise hostname HOT 5
- IP Address Return HOT 3
- Crash when TXT record contains empty properties HOT 2
- java.net.SocketTimeoutException: Poll timed out leads to crash on android few seconds after discovering service HOT 6
- iOS cannot discover a host running on Windows HOT 7
- normalizeType error HOT 4
- Error Redeclaration: BonsoirService HOT 1
- Scan for all the mDNS devices in the network HOT 3
- How can I run this on native android? HOT 8
- Does not work for Flutter-Tizen project HOT 1
- [macOS/windows] Random crash when starting and stopping discovery HOT 5
- Specific characters are missing HOT 2
- Broadcast on specific interface HOT 2
- java.util.ConcurrentModificationException is throwed by BonsoirServiceDiscovery.kt HOT 2
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 bonsoir.