Получить список устройств в локальной сети в C - PullRequest
5 голосов
/ 29 января 2012

Я хотел бы получить список доступных устройств (их IP-адрес или имя хоста должны быть в порядке), подключенных к моей локальной сети.У меня есть несколько примеров на C #, но я не смог найти ни одного примера с использованием C / C ++.Я просто знаком с API сокетов BSD, просто чтобы уточнить.

У меня есть идея "заглушки": возможно, мне следует определить диапазон IP-адресов, к которым устройства в моей локальной сети потенциально могут принадлежатьи затем определите, реагируют ли они, например, на PING или что-то в этом роде.Как мне достичь этого?

Я хочу, чтобы мое приложение работало на Linux и iOS.Вот почему я бы предпочел сокеты BSD или, как максимум, Foundation / GNUstep (хотя они написаны в Objective-C).

1 Ответ

12 голосов
/ 30 января 2012

Вы также можете, например, отправить пакет эхо-запроса ICMP на 224.0.0.1.Это специальный многоадресный адрес для всех узлов, на который должен отвечать каждый узел (кроме случаев, когда это запрещено правилом брандмауэра или настройкой сетевой политики).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...