Из чтения других записей Stack Overflow и документации boost :: asio
, Я подтвердил, что не существует синхронных вызовов чтения / записи ASIO, которые также предоставляют простой в использовании тайм-аут в качестве параметра вызова.
Я нахожусь в середине преобразования приложения сокетов Linux старой школы с вызовами select (2), которые используют таймауты, и мне нужно сделать примерно то же самое.
Итак, как лучше всего сделать это в boost :: asio
? Глядя на документацию asio, можно найти много запутанных примеров различных вещей, связанных с таймерами, но я очень запутался.
Я бы хотел увидеть простой для чтения пример этого: Читать из розетка, но подождите максимум X секунд, после чего функция либо вернется ни с чем, либо вернется с тем, что она смогла прочитать из сокета до истечения времени ожидания.