asio :: lire avec timeout

J'ai besoin de savoir lire (synchronisation ou asynchrone n'a pas d'importance) avec un délai d'attente. Je veux vérifier si un appareil est connecté à un port série ou pas.

Pour que j'utilise asio::write puis-je attendre la réponse de l'appareil.

Si un périphérique est connecté asio::read(serial, boost::asio::buffer(&r,1)) fonctionne très bien mais si il n'y a aucun dispositif, le programme s'arrête, ce qui est pourquoi j'ai besoin de le délai d'attente

Je sais que j'ai besoin d'un deadline_timer mais je n'ai aucune idée de comment l'utiliser dans le async_read fonction.

Un exemple de la façon dont il fonctionne serait vraiment utile.

Je sais qu'il y a beaucoup de semblables fils et j'ai lu beaucoup d'entre eux, mais je ne peux pas trouver une solution qui m'aide à résoudre mon problème!!!!

source d'informationauteur Chris K.