Dari membaca entri Stack Overflow lainnya dan dokumentasi boost::asio
, saya telah mengonfirmasi bahwa tidak ada panggilan baca/tulis ASIO sinkron yang juga menyediakan batas waktu yang mudah digunakan sebagai parameter panggilan.
Saya sedang mengonversi aplikasi soket Linux jadul dengan panggilan pilih(2) yang menggunakan batas waktu, dan saya perlu melakukan hal yang kurang lebih sama.
Jadi apa cara terbaik untuk melakukan ini di boost::asio
? Melihat dokumentasi asio, ada banyak contoh membingungkan tentang berbagai hal yang berkaitan dengan pengatur waktu, tapi saya cukup bingung.
Saya ingin melihat contoh yang mudah dibaca: Membaca dari soket, tetapi menunggu maksimal X detik setelah itu fungsi akan kembali tanpa apa-apa, atau kembali dengan apa pun yang dapat dibacanya dari soket sebelum batas waktu habis.