Qual è il modo più semplice per verificare se un socket è stato chiuso sul lato remoto della connessione? socket::is_open()
restituisce true anche se è chiuso sul lato remoto (sto usando boost::asio::ip::tcp::socket
).Come verificare se il socket è chiuso in Boost.Asio?
Potrei provare a leggere dal flusso e vedere se ha successo, ma dovrei cambiare la logica del mio programma per farlo funzionare in questo modo (non voglio che i dati vengano estratti dallo stream al punto del controllo).
Perché è necessario sapere se la connessione remota è stata chiusa? – outis
Inoltre, stai usando un protocollo applicativo di tua progettazione o un protocollo standard? – outis
Sto scrivendo un programma di chat di base e devo informare l'utente che l'altra persona ha chiuso l'app. Ho il mio protocollo e ho già aggiunto un messaggio "Chiudi". L'unico inconveniente è che non viene inviato se l'app viene uccisa/si blocca/ecc. – Hali