May 7, 2019, 9:20 a.m.

Поиск определенных устройств в сети

network, qt

доброго времени суток! собственно ситуация, в сети есть несколько малин (RPi3 работают под арчем). нужно написать приложение (win/linux) которое при необходимости будет сканить сеть и возвращать их IP. из мыслей пока написать малинам службу, которая при получении запроса будет давать ответ что это искомое устройство. есть ли у Qt что-то для этих целей? буду благодарен за все идеи реализации данного вопроса или волшебного пендаля в сторону решения вопроса

Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
4

Добрый день!

Я подобное делал на Qt лет 5-6 назад.

Идея был в том, чтобы:

  1. Устройства сами периодически кидали на серверную машину информацию о том, что они онлайн. Естественно они знали на каком IP должен быть сервер.
  2. Серверная машина делала broadcast рассылку внутри сети, на которую все устройства должны были откликнуться.

Ограничение первого варианта было в том, что устройства должны знать где сервер.
Ограничение второго варианта в том, что broadcast будет работать только внутри сети. Коммутаторы и маршрутизаторы не позволяют обычно разгул broadcast штормов.

Могу вечером поискать исходники, но есть вероятность, что у меня их уже нет.

Делал это всё через использование QTcpServer и QTcpSocket, поскольку серверное ПО было на Qt, на обычном ПК (win), впрочем для линукса всё тоже самое. А вот опрашиваемые железяки были на STM32, там уже никакого Qt не было, да и на Си всё было.

0

если найдете буду благодарен. в моем случае, мне нужно только при первом запуске устройства в сети узнать, какой оно получило ip, после уже можно будет зайти на устройство через web stream, и под учеткой админа сделать всю необходимую конфигурацию малины

0

ммм... тогда broadcast нужен. При broadcast рассылке идёт сообщение на специальный broadcast адрес в сети. Такую рассылку получают все устройства в сети.

Алгоритм должен быть такой.

  1. Малина делает broadcast рассылку с сообщением: "Я включилась и нужна настройка"
  2. Серверное ПО слушает broadcast адрес.
  3. При появлении нового устройства, сервер регистрирует новое устройство и инициирует протокол настройки.
0

Посмотрите в сторону SNMP. Он подобным занимается

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
m
May 19, 2019, 1:49 a.m.
mahhaki

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
S
May 17, 2019, 1:14 p.m.
SunBro

Qt - Test 001. Signals and slots

  • Result:42points,
  • Rating points-8
b
May 17, 2019, 4:18 a.m.
banana

C++ - Тест 003. Условия и циклы

  • Result:57points,
  • Rating points-2
Last comments
May 20, 2019, 7:20 p.m.
Евгений Легоцкой

Добрый день! Вы не думали разместить репозиторий проекта на GitHub?
P.
May 18, 2019, 2:03 p.m.
PELMYACH .

Спасибо большое! Вскоре буду разбираться!
May 18, 2019, 9:13 a.m.
Евгений Легоцкой

Добрый день! Отнимать значение общего счётчика можно в деструкторе класса кнопки QDynamicButton::~QDynamicButton(){ ResID--;} При этом я бы ещё переустанавливал значения вс...
P.
May 14, 2019, 10:33 p.m.
PELMYACH .

Здравствуйте!А не подскажите, как можно при удалении какой либо кнопки, у щётчика отнять значение?Дабы например четвёртой кнопке соответствовал ID 4, а не 5 скажем
May 6, 2019, 6:39 a.m.
Евгений Легоцкой

Добрый день. Этот урок для Qt Quick Control версии 1, Вы используете вторую версию. Здесь style уже нет, кастомизацию можно делать уже или черещ соответствующие property или через ...
Now discuss on the forum
May 21, 2019, 1:51 p.m.
Евгений Легоцкой

Добрый день! Вот пример создания динамической библиотеки в Qt . Да, там показан один класс, но абсолютно ничего не меняется, сколько бы классов вы там не имели. Ва...
May 20, 2019, 8:43 a.m.
Михаиллл

Кинул библиотеки в папку с проектом и в папку к компилируемым файлам.В файле проекта прописал так, но все равно выдает ту же ошибку QT += core gui networkgreaterThan(QT_MAJOR_VERSI...
May 20, 2019, 1:47 a.m.
linq

Что вы понимаете под статической сборкой приложений? В какой среде?
May 19, 2019, 10:52 a.m.
Евгений Легоцкой

Если честно, то мне нужно самому время потратить, чтобы глянуть это дело. Я использовал Flutter для разработки, а не Qt. Просто исходя из опыта, могу сказать, что по большей части всё на эмуля...
May 16, 2019, 11:08 p.m.
BlinCT

Решил через indexOf сделать. Возвращает или номер позиции где нашел символ или строку или -1 если не найдено.

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB