我需要知道如何閱讀(同步或異步無關緊要)超時。我想檢查一個設備是否與串口連接。asio ::超時讀取
爲此,我使用asio::write
,然後等待設備的響應。
如果設備連接asio::read(serial, boost::asio::buffer(&r,1))
工作正常,但如果沒有設備的程序停止,這就是爲什麼我需要超時
我知道我需要一個deadline_timer
,但我不知道如何使用它在async_read
函數中。
一個它如何工作的例子會非常有用。
我知道有很多類似的線程,我閱讀了很多,但是我找不到解決方案來幫助我解決問題!
您確定asio i/o操作是中斷點嗎? –
有沒有人能夠確認這一點?此解決方案是否有效? – rustyx
我已經測試過這個,不適合我。在異步I/O操作期間,中斷不會暫停線程。 – risingDarkness