Do we need `this.setTimedOut(true);` in the `SocketException` catch below?
I mean, if we decided to close connection, why don't close its socket too...