Как выяснить, является ли сеть, к которой подключен Mac, Wi-Fi или кабельной сетью и т. П. - PullRequest
1 голос
/ 06 марта 2010

Прежде всего, вы, ребята, все очень полезны - большое спасибо!

Есть ли способ выяснить, к какому типу сети подключен Mac? Wi-Fi? Кабель? USB модем? Какая-нибудь основа Какао / Основы, которую я могу использовать, чтобы выяснить это?

Спасибо, Matthias

Ответы [ 2 ]

3 голосов
/ 06 марта 2010

Вы можете указать, использует ли Mac WiFi, использует ли он модем и использует ли он жесткий Ethernet (это может быть кабель, DSL или что-то еще). Обратите внимание, что они не являются взаимоисключающими, может быть несколько соединений одного типа (например, у меня два порта Ethernet), и то, что подключение к IP-сети не обязательно означает подключение к Интернету.

Возможно, API конфигурации системы окажется полезным. См. Также ссылка на структуру .

Вы также можете посмотреть на источник для HardwareGrowler в папке Extras Исходный код Growl .

0 голосов
/ 11 марта 2010

Вы можете запросить таблицу маршрутов и посмотреть, какой маршрут по умолчанию, который с некоторой степенью точности скажет вам, что такое активное соединение.

Очевидно, это во многом связано с тем, как вы определяете «некоторую степень точности». Как правило, основное интернет-соединение также будет маршрутом по умолчанию. Я предполагаю, что вы также хотите, чтобы активное соединение означало «подключение к интернету».

netstat -rn Таблицы маршрутизации

Интернет: Флаги шлюза назначения Ссылки Использовать Netif Expire

по умолчанию 192.168.0.1 UGSc 22 14 en1

так что для меня мой маршрут по умолчанию выходит из интерфейса en1. Я думаю, вам нужно быть более конкретным в отношении того, что вы подразумеваете под словом «активный / текущий».

CAVEAT: только потому, что мой gw по умолчанию включен в en1, не обязательно означает, что именно туда идет весь мой трафик inet. (в моем случае это правда, но не рассчитывайте на это как на правду, но, вероятно, это будет правильным более чем в половине случаев).

...