Отказ в соединении означает, что услуга вообще недоступна. См. Какие могут быть причины ошибок при отказе соединения? post.
Хотя Connection timeout
- это период времени, в течение которого должно быть установлено соединение между клиентом и сервером. Если по какой-либо причине не установлено, ваш код выдает это исключение после некоторых попыток. https://itstillworks.com/server-connection-timeout-mean-22703.html может дать вам некоторое представление.
localhost Vs remote:
на удаленной машине машина действует как прокси, то есть машина работает, нобазовая служба недоступна через сеть . В то время как на локальном хосте произнесите localhost: порт не работает, соединение сразу же отклонено, и никакая попытка ожидания соединения не выполняется (хотя, если ваша машина работала со службой, но установление соединения не было успешным, у вас был бы тайм-аут)