I could send us an email to email@example.com we currently have a beta fix for the android peer discovery issue. Unfortunately UDP broadcast appears to be different enough across different platforms that we don’t yet have a fix that we are happy to roll out publicly.
In answer to your questions:
1. Please try running the TCP port scan test from the same machine, i.e. two applications. My guess is that this will work. As such I would ensure your devices are visible to others on the network, i.e. possible firewalls or router security settings.
2. All endpoints that are marked as Discoverable should be visible for a discovered peer. The endpoints used DURING the UDP discovery are created as discoverable. Please ensure when you create the TCP listen endpoints that you provide true for the discoverable parameter.
3. There are more sophisticated ways to determine the correct IP after discovery, such as local subnet detection etc, but the easiest is just to try all ip addresses that are not loopback and use the first one which successfully connects.