Saya sedang mengerjakan aplikasi yang menggunakan siaran UDP untuk penemuan. Untuk apa nilainya, saya menggunakan proyek implementasi java-murni ZeroMQ, JeroMQ (tapi saya tidak berpikir ini erat dengan masalah).
Saya telah melihat sesuatu yang aneh ketika saya menjalankan aplikasi pada Mac saya - Ini akan mengirimkan siaran sekali per detik beberapa kali tanpa masalah, dan kemudian saya akan mendapatkan pengecualian NoRouteToHost, diikuti oleh SocketException 15-25 detik dengan pesan "Tuan rumah sedang down". Kemudian siaran akan berlangsung selama 4-10 detik lagi. Jumlah pasti keberhasilan dan kegagalan dalam siklus sedikit berfluktuasi, tetapi selalu kira-kira 5 keberhasilan diikuti oleh sekitar 20 kegagalan.
Saya juga mengamati pola ini dengan menggunakan utilitas ping asli OSX yang menargetkan setiap alamat pada subnet saya yang tidak merespons icmp (termasuk [/ 24 subnet] .255) - Sejumlah respons "minta batas waktu" (seperti yang diharapkan) diikuti dengan tepat satu pesan "Tidak ada rute ke host" dan kemudian beberapa lusin pesan "host is down". Akhirnya saya mendapatkan setengah lamanya waktu tunggu tanpa kesalahan koneksi dan siklus berulang.
Saya mengamati perilaku ini pada jaringan Access Point 802.11 konvensional, dan juga jaringan wifi ad-hoc.
Masalah ini tidak terjadi dari Debian VM atau dari Raspberry Pi yang menjalankan Raspbian Stretch.
OSX versi 10.13.4
Saya telah melihat-lihat beberapa di internet tanpa hasil, mungkin karena saya mengalami kesulitan dalam mengungkapkan pertanyaan?