Cześć.
Input: broadcastowy pakiet UDP na jakiś port z treścią będącą znakami ascii.
Output zmienna w bashu zawierajaca tą treść.
Teraz detale: jest urządzenie które wysyła swój stan w postaci pakietu
UDP na ff:ff:ff:ff:ff:ff
255.255.255.255:<port>.
Pakiet zawiera dosłownie jedno słowo typu "ON", "ERROR 7" itd. bez
żadnej struktury, ciało pakietu to znaki ASCII razem z zerem.
Na urządzenie które je emituje nie mam wpływu, ktoś to tak zrobił i tyle.
Chciałbym "przyczaić" się na ten pakiet w bashu, a nastepnie, jesli
przyjdzie, wydłubać z niego treść i zwrócić w formie zmiennej/env. Mogę
przeoczyć pakiety, to nie jest krytyczne.
Nie ma tu żadnych zagadnień bezpieczeństwa, to nie jest otwarta sieć, to
taki komplenie zamknięty LAN bez dostępu z zewnątrz.
Dopuszczam użycie Pythona, ale zanim go użyje: czym mogę zrealizować
powyższe zadanie czymś prostym z konsoli?
Widzę to tak: czekanie - netcat
Parsowanie outputu z pakietu - hmmm awk lub jakiś gotowiec typu readline?
Ma ktoś lepszy pomysł?
Zerkałem za pomysłami tutaj:
https://stackoverflow.com/questions/24247811/listen-for-returning-udp-packets-in-bash
Ale jak ktoś ma coś jeszcze...