3 ms·
I'm always exasperated how an iPhone or any other smartphone cannot properly check if a WiFi has functional internet connection before switching over from cellu
by infofarmer 6y ago
I'm always exasperated how an iPhone or any other smartphone cannot properly check if a WiFi has functional internet connection before switching over from cellular data. Half a century of relying on networking abstractions — and we're basically unable to say, hey, let this particular process work on this network connection while the rest of the system is relying on the other adapter. VIMAGE gracefully and painlessly allows that.
- emj 6y agoThat seems semitrivial on Android since at least a decade back, you just need to implement it and find all the edge cases, so I guess there is a reason this is not done already. e.g . one routing table per interface add rules in global routing table for each new interface that is started: ip rule add from/to $IP_OF_IFACE/32\ table $UNIQUE_RT_FOR_IFACE ip route add default via IP_OF_IFACE_GW/32\ dev $IFACE_NAME table $UNIQUE_RT_FOR_IFACE Then when something changes on the iface that is not defaul; 1. remove old configs for that iface, 2. open a socket on the new ip on that iface to test internet connection. 3. If ok: change default in main routing table to the GW that iface uses.
- swiley 6y agoOn sane OSes you could manually modify the routing tables. On iOS you can't even do basic things like turn of discoverable mode for bluetooth so this shouldn't be surprising.