Elettracompany.com

Компьютерный справочник
18 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Java net unknownhostexception

Ошибка java.net.SocketException: Conection reset — как исправить

В этом примере мы поговорим о java.net.SocketException. Это подкласс IOException, поэтому это проверенное исключение, которое сигнализирует о проблеме при попытке открыть или получить доступ к сокету.

Настоятельно рекомендуется использовать самый «определенный» класс исключений сокетов, который более точно определяет проблему. Стоит также отметить, что SocketException, выдаётся на экран с сообщением об ошибке, которое очень информативно описывает ситуацию, вызвавшую исключение.

Простое клиент-серверное приложение

Чтобы продемонстрировать это исключение, я собираюсь позаимствовать некоторый код из клиент-серверного приложения, которое есть в java.net.ConnectException. Он состоит из 2 потоков.

  • Поток 1 — SimpleServer, открывает сокет на локальном компьютере через порт 3333. Потом он ожидает установления соединения. Если происходит соединение, он создает входной поток и считывает 1 текстовую строчку, от клиента, который был подключен.
  • Поток номер 2 — SimpleClient, подключается к сокету сервера, открытого SimpleServer. Он отправляет одну текстовую строчку.

Получается, что 2 потока будут в разных классах, запущенных двумя разными основными методами, чтобы вызвать исключение:

Как вы можете видеть, я поместил в SimpleClient 15-секундную задержку, прежде чем попытаться отправить свое сообщение. К тому моменту, когда клиент вызывает sleep(), он уже создал соединение с сервером. Я собираюсь запустить оба потока, и после того, как клиент установит соединение, я внезапно остановлю клиентское приложение.
Вот что происходит на стороне сервера:

Мы получаем исключение SocketException с сообщением «Сброс подключения». Это происходит, когда один из участников принудительно закрывает соединение без использования close().

Конечно, вы можете сделать оперативное закрытие соединения, не закрывая приложение вручную. В коде клиента, после ожидания в течение 15 секунд (или меньше), вы можете выдать новое исключение (используя throws new Exception ()), но вы должны удалить finally, иначе соединение будет нормально закрываться, и SocketException не будет сброшен.

Как решить проблему с SocketException

SocketException — это общее исключение, обозначающее проблему при попытке доступа или открытия Socket. Решение этой проблемы должно быть сделано с особой тщательностью. Вы должны всегда регистрировать сообщение об ошибке, которое сопровождает исключение.

В предыдущем примере мы видели код сообщения. Это происходит, когда один из участников принудительно закрывает соединение без использования close (). Это означает, что вы должны проверить, был ли один из участников неожиданно прерван.

Также может быть сообщение «Слишком много открытых файлов», особенно если вы работаете в Linux. Это сообщение обозначает, что многие файловые дескрипторы открыты для системы. Вы можете избежать этой ошибки, если перейдете в /etc/sysctl.conf и увеличите число в поле fs.file-max. Или попытаться выделить больше стековой памяти.

Конечно, можно встретить много других сообщений. Например, «Ошибка привязки», где ваше соединение не может быть установлено, поскольку порт не может быть привязан к сокету. В этом случае проверьте, используется ли порт и т. д.
Если у вас проблема с minecraft, то в видео ниже очень просто объясняется как это решить.

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

java.net.UnknownHostException

Я устанавливаю CSVN с помощью jdk1.6.0_23 и получаю следующую ошибку Java:

Мой сервер имеет 3 NICs (eth0, eth1 и eth2). Я добавил запись в файл hosts ниже localhost, содержащую следующее: 127.0.0.1 vkqgae01

Я могу успешно пинговать vkqgae01, но nslookup не может решить эту проблему.

Есть какие-нибудь идеи?

5 Ответов

Это связано с тем, что

Если /etc/hosts не содержит определения имени хоста, то он не работает. Просто добавьте свое имя хоста в /etc/host например если ваше имя хоста является рабочим добавьте или измените следующую строку:

Читать еще:  Ошибка не удалось обнаружить устройство direct3d

Я могу успешно пинговать vkqgae01, но nslookup не может решить эту проблему.

Есть какие-нибудь идеи?

Что же происходит?

  • vkqgae01 решается локально благодаря вашему файлу hosts.
  • nslookup отправляет запрос на ваш DNS, где vkqgae01 неизвестно.

Предложение: добавьте vkqgae01 в hosts-файл каждой машины, где вы его «use».
В принципе, тот факт, что локальный файл hosts на vkqgae01 содержит 127.0.0.1 localhost vkqgae01 , не помогает другим машинам решить его имя.

Просто добавил строку ниже в /etc/hosts, и это сработало.

nslookup запросы DNS конкретно и непосредственно. Это означает, что он не сможет показать ничего добавленного непосредственно в файл /etc/hosts (поскольку это не DNS). Если вы хотите правильно убедиться, что ваша система разрешит имя, используйте getent: ‘getent hosts vkqgae01’

Вам нужно перезапустить контейнер, если /etc/hosts был изменен до тех пор, пока JVM кэширует локальные адреса/имена при первом вызове InetAddress . Это похоже на ошибку реализации InetAddress , но все еще не исправлено.

Похожие вопросы:

failed to open file file://D/:/dev/test_all.html JavaException: java.net.UnknownHostException: D Есть идеи, почему это происходит?

Я новичок в чат-приложении. Я начал изучать приложение для чата Я пытаюсь подключить виртуальное устройство android к серверу openfire xmpp, но не могу подключиться, я получаю.

Я работаю с приложением глубокого обучения, и когда я пытаюсь запустить его, возникает следующее исключение: Исключение в потоке main java.net.UnknownHostException: benchmark.deeplearn.online Как я.

Я новичок в Java, Hadoop и т.д. У меня возникли проблемы при попытке скопировать файл в HDFS. Там написано: -copyFromLocal: java.net.UnknownHostException: quickstart.cloudera (. ) Как я могу решить.

Поэтому при запуске задания Jenkins я получаю следующую ошибку: Unable to get host name java.net.UnknownHostException: ip-XX-XX-XX-XXX: ip-XX-XX-XX-XXX: Name or service not known Я читал в интернете.

Дорогие леди и джентльмены, Я сделал свою домашнюю работу, я много гуглил, и я думаю, что знаю, где проблема может быть расположена: Я хочу получить некоторые простые данные JSON formated из.

Java net unknownhostexception

02:56:42] [Server thread/ERROR]: Encountered an unexpected exception

java.lang.NoClassDefFoundError: Could not initialize class Reflector

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:631) [MinecraftServer.class:?]

at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]

[02:56:42] [Server thread/INFO]: Applying holder lookups

[02:56:42] [Server thread/INFO]: Holder lookups applied

[02:56:42] [Server thread/INFO]: The state engine was in incorrect state SERVER_STARTING and forced into state SERVER_STOPPED. Errors may have been discarded.

Ru Beta — Сервер на версии 1.7.3 Бета

Совмещаю лень и продуктивность

[?:1.8.0_221]
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)

[?:1.8.0_221]
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)

[?:1.8.0_221]
at java.net.InetAddress.getAllByName0(Unknown Source)

[?:1.8.0_221]
at java.net.InetAddress.getAllByName(Unknown Source)

[?:1.8.0_221]
at java.net.InetAddress.getAllByName(Unknown Source)

[?:1.8.0_221]
at java.net.InetAddress.getByName(Unknown Source)

[?:1.8.0_221]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:166)

[craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:522) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
[10:27:08 ERROR]: This crash report has been saved to: C:UsersэфЁхщDesktopютр яряър (5)serverCD.crash-reportscrash-2019-10-29_10.27.08-server.txt
[10:27:08 INFO]: Stopping server
ВОТ МОЙ КРАШЛОГ ЧТО ЭТО.

Дэд без репы

—- Minecraft Crash Report —-

WARNING: coremods are present:
Do not report to Forge! (If you haven’t disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.10-1.12.2.jar)
ObfuscatePlugin (obfuscate-0.2.6-1.12.2.jar)
McLib core mod (mclib-1.0.4-1.12.2.jar)
PerformantLoadingPlugin (performant_1.12.2_1.7.jar)
Contact their authors BEFORE contacting forge

// I bet Cylons wouldn’t have this problem.

Time: 31.01.20 13:50
Description: Exception in server tick loop

java.net.UnknownHostException: 8805353535
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java
:176)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
at java.lang.Thread.run(Unknown Source)

Читать еще:  Стандартная ошибка уравнения регрессии

— System Details —
Details:
Minecraft Version: 1.12.2
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_45, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 346265688 bytes (330 MB) / 1200578560 bytes (1144 MB) up to 2112618496 bytes (2014 MB)
JVM Flags: 2 total; -Xincgc -Xmx2G
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2847 24 mods loaded, 23 mods active
States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored

Confluence Support

Get started

Knowledge base

Products

Jira Software

Project and issue tracking

Jira Service Desk

Service desk and customer support

Jira Core

Manage any business project

Confluence

Bitbucket

Git code management

Resources

Documentation

Usage and admin help

Community

Answers, support, and inspiration

System Status

Cloud services health

Suggestions and bugs

Feature suggestions and bug reports

Marketplace

Billing and licensing

Frequently asked questions

Viewport

Confluence

java.net.UnknownHostException exceptions in Confluence log file due to DNS lookups failing

Related content

  • No related content found

Still need help?

The Atlassian Community is here for you.

Platform Notice: Server and Data Center Only — This article only applies to Atlassian products on the server and data center platforms .

Problem

There are errors in the Confluence log showing that a hostname is unable to be resolved via a DNS server.

This may show up in various formats, but you will see something an error in the file atlassian-confluence.log :

The example shows the error showing up on an application link, however, this exception can be caused by any part of Confluence or its Add-Ons which needs to connect to a remote network address.

Diagnosis

Log on to the server that is hosting Confluence and try to resolve the hostname which is showing up in the exception, and try to resolve the hostname via DNS manually. For example using the «nslookup» utility which comes by default with most distributions of Linux, and is available on Windows:

Here are some sample diagnoses based on this command’s output:

This means that the DNS resolution servers are not contactable by the server.

This means that the DNS server is contactable, but can’t find an IP address for the host given.

This means that the DNS server has cached the IP address for that host, however that server is definitely capable of resolving the IP address for that host name.

Cause

There are several causes for this happening in Confluence, including:

  1. The DNS server is incorrectly specified in the Operating System’s configuration.
  2. The DNS server is correctly specified in the Operating System’s configuration, but the DNS server itself is misconfigured
  3. The hostname that Confluence is attempting to resolve is incorrect
  4. There is some other network error causing the Confluence server to be unable to reach the DNS server

Workaround

It may be possible to work around the issue, if network connectivity is working fine, by specifying the hostname manually in the system’s hosts file. This will bypass needing a DNS server to resolve the IP address. This file usually exists in one of the following locations:

  • /etc/hosts (Linux)
  • %SystemRoot% system32driversetchosts (Windows)
Читать еще:  Java string equalsignorecase

You would simply add a line similar to the following to that file:

Remembering to replace «HOSTNAME.DOMAIN» with the fully-qualified domain name, and «HOSTNAME» with the unqualified domain name.

Resolution

  • If the cause is (1) from above, then configure the Operating System so that the correct DNS server ip address is used.
  • If the cause is (2) from above, then diagnose the cause of the DNS server issues, and have them fixed
  • If the cause is (3) from above, then find where the hostname is specified in either Confluence’s configuration, or an Add-On’s configuration, and change to the correct host name

If the cause is (4) from above, then diagnose the cause of the network issues, and have them fixed

Java net unknownhostexception

2 ответа

21 Репутация автора

Я получил разрешение на доступ в Интернет в файле манифеста. Мое подключение к мобильной сети также работает.

В майском фрагменте страницы ничего не отображается, отображается только пустая страница.

вызов (AsyncTask.java:287) по адресу java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:305) по адресу java.util.concurrent.FutureTas . (FutureTask.java:137) по адресу android.os. AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:230) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1076) в java.util.concurrent.ThreadPoolExecutor $ Threadj java.lang.Thread.run (Thread.java:856) 05-18 17: 43: 12.420 27019-27019 / com.androidbelieve.MahaTiffin W / FragmentManager: moveToState: состояние фрагмента для Veg_Item_Fragment <415d7030 # 1 id = 0x7f0c00a0 и android переключатель: 2131493024: 1>не обновляется встроенным; ожидаемое состояние 3 найдено 2 05-18 17: 43: 12.530 27019-27104 / com.androidbelieve.MahaTiffin E / log_tag: ошибка в http-соединении java.net.UnknownHostException: Невозможно разрешить хост «mahatiffin.com»: адрес, связанный с именем хоста 05-18 17: 43: 12.540 27019-27104 / com.androidbelieve.MahaTiffin E / log_tag: ошибка при преобразовании результата java.lang.NullPointerException 05-18 17:43 : 12.540 27019-27104 / com.androidbelieve.MahaTiffin E / log_tag: Ошибка синтаксического анализа данных org.json.JSONException: конец ввода в символе 0 из 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin W / dalvikvm: threadid = 14: поток, выходящий с неперехваченным исключением (группа = 0x40e11378) 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin I / Процесс: отправка сигнала. PID: 27019 SIG: 9 540 27019-27104 / com.androidbelieve.MahaTiffin E / log_tag: ошибка синтаксического анализа данных org.json.JSONException: конец ввода в символе 0 из 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin W / dalvikvm : threadid = 14: поток выходит с необработанным исключением (группа = 0x40e11378) 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin I / Процесс: отправка сигнала. PID: 27019 SIG: 9 540 27019-27104 / com.androidbelieve.MahaTiffin E / log_tag: ошибка синтаксического анализа данных org.json.JSONException: конец ввода в символе 0 из 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin W / dalvikvm : threadid = 14: поток выходит с необработанным исключением (группа = 0x40e11378) 05-18 17: 43: 12.570 27019-27104 / com.androidbelieve.MahaTiffin I / Процесс: отправка сигнала. PID: 27019 SIG: 9

Как я могу это исправить..

Ответы (2)

0 плюса

1229 Репутация автора

Удалите строку «соединение установлено» из Php Json в начале страницы.

2) Исключение приведения класса задачи: изменить, как показано ниже:

удалить «itemlist = new ArrayList> ();» из doInBackground() метода.

5 плюса

51 Репутация автора

Причина . Обычно исключение UnknownHostException срабатывает, когда вы не можете разрешить DNS-запись предоставленного вами URL-адреса. Для этой операции есть разумное время ожидания, но если у вас слабое соединение Wi-Fi или у вас недостаточно сигнала на вашем устройстве, связь может быть прервана в середине между отправкой запроса и получением ответа, поэтому ваше устройство не получает ответ, поэтому считает, что это тайм-аут DNS.

Короче говоря, есть две основные причины для исключения:

  1. Если ваши Wi-Fi сигналы слабые.
  2. Если ваше устройство подключено к Wi-Fi, но нет интернета недоступно.

Решение : перед запросом проверьте доступность интернета

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты 220 Вольт