Получение «тайм-аут соединения» вместо «соединение отказано» - PullRequest
0 голосов
/ 07 ноября 2019

Я тестирую свое приложение, которое запрашивает некоторые данные из базы данных. В случае, когда база данных ВНИЗ и установлена ​​на локальном хосте, я получаю немедленное Connection refused, но когда база данных работает на удаленной машине, Connection timeout происходит. В чем может быть разница? Я использую apache BasicDataSource, чтобы установить соединение.

1 Ответ

1 голос
/ 07 ноября 2019

Отказ в соединении означает, что услуга вообще недоступна. См. Какие могут быть причины ошибок при отказе соединения? post.

Хотя Connection timeout - это период времени, в течение которого должно быть установлено соединение между клиентом и сервером. Если по какой-либо причине не установлено, ваш код выдает это исключение после некоторых попыток. https://itstillworks.com/server-connection-timeout-mean-22703.html может дать вам некоторое представление.

localhost Vs remote:

на удаленной машине машина действует как прокси, то есть машина работает, нобазовая служба недоступна через сеть . В то время как на локальном хосте произнесите localhost: порт не работает, соединение сразу же отклонено, и никакая попытка ожидания соединения не выполняется (хотя, если ваша машина работала со службой, но установление соединения не было успешным, у вас был бы тайм-аут)

...