Temukan sederhana
Simpdiscover adalah peti karat sederhana untuk memfasilitasi penemuan layanan dalam jaringan Area Lokal (LAN) menggunakan datagram UDP Broadcast atau "beacon".
'Penyiar' suatu layanan bisa berupa proses di mesin lain, atau thread atau proses lain di mesin yang sama.
Sasaran
- Deteksi luas LAN atas layanan bernama dan IP tempat layanan tersebut berada
- Sederhana untuk dipahami dan digunakan
- Kecil, sedikit ketergantungan pada perpustakaan dan memori kecil serta jejak CPU
- Format suar sederhana yang mudah digunakan dan tidak memperkenalkan dukungan format file tertentu ke perpustakaan
Bukan Gol
- Penemuan layanan di LAN, WAN, Web atau di cloud.
Diimplementasikan sejauh ini
- Struktur BeaconSender yang dapat diatur untuk mengirim beacon:
- dengan konten suar tertentu String
- pada port tertentu
- dengan metode untuk:
- kirim selamanya dalam satu lingkaran pada jangka waktu tertentu
- kirim hanya satu suar
- Struktur BeaconListener sederhana yang dapat diatur untuk menerima beacon:
- mencocokkan isi pesan tertentu
- dengan metode yang memblokir pengirim dan menunggu hingga pesan diterima
- dengan nilai batas waktu opsional untuk menunggu atau Tidak Ada untuk menunggu tanpa batas waktu
- Biner 'umumkan' dan 'dengarkan' sederhana yang menggunakan perpustakaan sebagai contoh
- Beberapa tes Dokumen untuk menjaga agar dokumen API tetap benar
- Tindakan Github untuk membangun lalu memeriksa clippy lalu menguji semua
biner 'umumkan'
Jalankan biner ini dari repo menggunakan cargo run --bin announce
atau cukup announce
jika Anda telah memasang peti dengan kargo.
Dibutuhkan parameter baris perintah opsional untuk menentukan String yang akan diumumkan oleh pesan suar: cargo run --bin announce -- Hello
biner 'dengarkan'
Jalankan biner ini dari repo menggunakan cargo run --bin listen
atau cukup listen
jika Anda telah menginstal peti dengan Cargo.
Dibutuhkan parameter baris perintah opsional untuk menentukan String agar pesan suar menunggu sebelum keluar: cargo run --bin listen -- Hello
Pekerjaan masa depan
Saya telah membuat sebagian besar catatan saya tentang pekerjaan di masa depan dan mengubahnya menjadi masalah GitHub.
Beberapa hanyalah pertanyaan tentang hal-hal yang saya tidak mengerti dan saya ingin para ahli UDP dan Rust menjelaskannya kepada saya.
Silakan beri komentar atau mulai apa pun yang Anda minati untuk diterapkan.
PR jelas diterima, jika disertai dengan beberapa komentar dokumen, tes dokumen atau tes.
Pengembang
- Kloning/Fork repo dan unduh:
-
cd
ke dalam direktori - Tambahkan perubahan, tambahkan komentar dokumen dan/atau pengujian dan pengujian dokumen.
-
cargo build
-
cargo test
-
cargo clippy -- -D warnings
- Buat PR
- Tindakan Github akan menjalankan langkah yang sama seperti di atas
- Saya akan meninjau dan menggabungkan