จากการอ่านรายการ Stack Overflow อื่นๆ และเอกสารประกอบ boost::asio
ฉันยืนยันว่าไม่มีการเรียกการอ่าน/เขียน ASIO แบบซิงโครนัสที่ให้การหมดเวลาใช้งานง่ายเป็นพารามิเตอร์สำหรับการโทร
ฉันกำลังอยู่ระหว่างการแปลงแอปพลิเคชันซ็อกเก็ต Linux รุ่นเก่าด้วยการเรียกแบบเลือก (2) ที่ใช้การหมดเวลา และฉันต้องทำสิ่งเดียวกันไม่มากก็น้อย
ดังนั้นวิธีที่ดีที่สุดในการทำเช่นนี้ใน boost::asio
คืออะไร? เมื่อดูเอกสารประกอบของ asio มีตัวอย่างที่น่าสับสนมากมายเกี่ยวกับสิ่งต่าง ๆ ที่เกี่ยวข้องกับตัวจับเวลา แต่ฉันค่อนข้างสับสน
ฉันอยากเห็นตัวอย่างที่อ่านง่ายของสิ่งนี้: อ่านจากซ็อกเก็ต แต่รอสูงสุด X วินาทีหลังจากนั้นฟังก์ชันจะส่งคืนโดยไม่มีสิ่งใดเลย หรือส่งคืนพร้อมกับอะไรก็ตามที่อ่านได้ จากซ็อกเก็ตก่อนที่การหมดเวลาจะหมดลง