What is the easiest way to check if a socket was closed on the remote side of the connection? socket::is_open()
returns true even if it is closed on the remote side (I'm using boost::asio::ip::tcp::socket
).
I could try to read from the stream and see if it succeeds, but I'd have to change the logic of my program to make it work this way (I do not want data to be extracted from the stream at the point of the check).
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…