Einfach entdecken
Simpdiscover ist eine einfache Rostkiste, die das Auffinden von Diensten innerhalb des lokalen Netzwerks (LAN) mithilfe von UDP-Broadcast-Datagrammen oder „Beacons“ erleichtert.
Der „Ansager“ eines Dienstes kann ein Prozess auf einem anderen Computer oder ein anderer Thread oder Prozess auf demselben Computer sein.
Ziele
- LAN-weite Erkennung benannter Dienste und deren IP-Adresse
- Einfach zu verstehen und zu verwenden
- Klein, wenige Abhängigkeiten von der Bibliothek und geringer Speicher- und CPU-Fußabdruck
- Einfaches Beacon-Format, das einfach zu verwenden ist und keine spezielle Dateiformatunterstützung in die Bibliothek einführt
Nicht-Ziele
- Erkennung von Diensten über LANs, WANs, das Web oder in der Cloud.
Bisher umgesetzt
- BeaconSender-Struktur, die zum Senden von Beacons eingerichtet werden kann:
- mit einem bestimmten Beacon-Inhaltsstring
- auf einem bestimmten Port
- mit Methoden zu:
- Senden Sie in einem bestimmten Zeitraum für immer in einer Schleife
- Senden Sie nur einen Beacon
- Einfache BeaconListener-Struktur, die zum Empfangen von Beacons eingerichtet werden kann:
- passend zu einem bestimmten Nachrichteninhalt
- mit einer Methode, die den Absender blockiert und wartet, bis eine Nachricht empfangen wird
- mit einem optionalen Timeout-Wert, auf den gewartet werden soll, oder „None“, um auf unbestimmte Zeit zu warten
- Einfache „Announce“- und „Listen“-Binärdateien, die die Bibliothek als Beispiele verwenden
- Einige Dokumenttests, um die API-Dokumente korrekt zu halten
- Github-Aktion zum Erstellen, dann Clippy-Prüfung und dann alles testen
Binärdatei „ankündigen“.
Führen Sie diese Binärdatei aus dem Repo aus, indem Sie cargo run --bin announce
verwenden oder einfach announce
, ob Sie die Kiste mit „Cargo“ installiert haben.
Es ist ein optionaler Befehlszeilenparameter erforderlich, um die Zeichenfolge für die anzukündigende Beacon-Nachricht anzugeben: cargo run --bin announce -- Hello
'hören' binär
Führen Sie diese Binärdatei aus dem Repo mit cargo run --bin listen
aus oder listen
einfach zu, wenn Sie die Kiste mit „cargo“ installiert haben.
Es ist ein optionaler Befehlszeilenparameter erforderlich, um die Zeichenfolge anzugeben, auf die die Beacon-Nachricht warten soll, bevor sie beendet wird: cargo run --bin listen -- Hello
Zukünftige Arbeit
Ich habe die meisten meiner Notizen zu zukünftigen Arbeiten gemacht und sie in GitHub-Ausgaben umgewandelt.
Bei einigen handelt es sich lediglich um Fragen zu Dingen, die ich nicht verstehe und die mir Experten für UDP und Rust gerne erklären würden.
Bitte kommentieren oder starten Sie alle, an deren Umsetzung Sie interessiert sind.
PRs sind natürlich willkommen, wenn sie von einigen Dokumentenkommentaren, Dokumententests oder Tests begleitet werden.
Entwickler
- Klonen/Forken Sie das Repo und laden Sie es herunter:
-
cd
in das Verzeichnis - Fügen Sie Änderungen hinzu, fügen Sie Dokumentkommentare und/oder Dokumenttests und Tests hinzu.
-
cargo build
-
cargo test
-
cargo clippy -- -D warnings
- Erstellen Sie eine PR
- Github-Aktionen führen die gleichen Schritte wie oben aus
- Ich werde es überprüfen und zusammenführen