Vous pouvez demander la table de routage et voir quelle est la route par défaut, ce qui vous indiquerait avec une certaine précision la connexion active.
Cela a évidemment beaucoup à voir avec la façon dont vous définissez «un certain degré de précision». Généralement, la connexion Internet principale sera également la route par défaut. Je suppose que vous voulez également que la connexion active signifie «connexion Internet».
netstat -rn tables de routage
Internet: Destination Drapeaux passerelle Réfs Utilisez netif Expirez
par défaut 192.168.0.1 UGSc 22 14 en1
donc pour moi, ma route par défaut passe par la interface en1. Je pense que vous devez être beaucoup plus précis sur ce que vous entendez par «actif/courant». CAVEAT: juste parce que mon gw par défaut est sur en1, ne signifie pas nécessairement que c'est là que tout mon trafic inet va. (Cela se vérifie dans mon cas, mais ne comptez pas là-dessus comme une vérité, mais serait probablement correct plus de la moitié du temps).
bien, après avoir joué avec SCNetworkInterface ... Je n'arrive pas à comprendre quelle est la connexion active/actuellement utilisée. –
Ce n'est pas singulier. Il peut y avoir plusieurs connexions aux réseaux IP. Quoi qu'il en soit, même si SCNetworkInterface est peut-être plus facile (je ne l'ai pas examiné de manière approfondie), je connais SCDynamicStore. Vous pouvez utiliser scutil pour parcourir le magasin dynamique vous-même et avoir une idée de l'endroit où vous devez regarder. Voir aussi http://developer.apple.com/mac/library/documentation/Networking/Reference/SCDynamicStoreKey/Reference/reference.html#//apple_ref/c/func/SCDynamicStoreKeyCreateNetworkInterfaceEntity. –