For a client of ours I'm involved in development of a iOS application that uses socket connections over Wi-Fi to transmit data to a gateway device. In order to allow this without having to rely on Wi-Fi networks being available the gateway device creates its own Wi-Fi network on which the user of the application must connect. Up until the release of iOS 10 this all worked fine for us.
With iOS 10 installed however our iPads/iPhones are still able to find the Wi-Fi network created by the device and connect to it (sort of, the Wi-Fi icon in the top bar isn't shown but it does list the network's SSID in both the preferences and when requeste via CNCopyCurrentNetworkInfo), but setting up the socket connection is no longer possible.
At first I suspected that creating a unsecure socket connection to a IP and port might no longer be allowed on iOS 10. To test this I got some python script that gets my Macbook to listen to socket connections on a certain port and tried connecting on that socket with a iOS 10 application.
What happens is that if I run this on our regular Wi-Fi network at work I can connect to the socket without problems. The same goes for using a Airport Time Capsule that is not connected to the internet as provider for the Wi-Fi network. As soon as I switch both the iPad and my Macbook onto the W-Fi network provided by the device however, I can no longer get the socket connection to open.
Unfortunately I'm not much of a network expert so its hard for me to diagnose the differences between the networks. The one difference I could find is that the device Wi-Fi network seems to be the only one out of the three that does not supply a DNS.
Does anybody know about any problems connection to networks that do not supply a DNS on iOS 10?
If so, was that by design or is it a unforseen thing that (hopefully) will get fixed in future releases?
Any tips on fixing the issue are off course also very welcome manually setting the DNS to 184.108.40.206 (Google) won't work I'm afraid since the device's Wi-Fi network offers no internet.