issue #594, handle SocketTimeoutException differently