I have those code lines in my application. It is at the beginning of handle method in class RequestsHandler of my ThreadedTcpServer.
logging.info("Previous connection not closed properly by Plc, try to shutdown and close")
try:
self.server.currentConnection.shutdown(socket.SHUT_RDWR)
logging.info("socket shutdown ok")
except Exception as e:
logging.error("socket shutdown exception", exc_info=True)
In log file, I can see multiple lines of "Previous connection not closed properly by Plc, try to shutdown and close", but not ok or exception message.
I am wondering, how is it possible, that socket.shutdown freezes? Can I avoid that? Those lines were introduced, because I wanted only one active connection at a time and client sometimes not disconnected properly and was not able to reconnect.
question from:
https://stackoverflow.com/questions/65952409/python-socket-shutdownsocket-shut-rdwr-freezes 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…