В этом примере мы поговорим о java.net.SocketException. Это подкласс IOException, поэтому это проверенное исключение, которое сигнализирует о проблеме при попытке открыть или получить доступ к сокету.
Простое клиент-серверное приложение
Чтобы продемонстрировать это исключение, я собираюсь позаимствовать некоторый код из клиент-серверного приложения, которое есть в java.net.ConnectException. Он состоит из 2 потоков.
- Поток 1 — SimpleServer, открывает сокет на локальном компьютере через порт 3333. Потом он ожидает установления соединения. Если происходит соединение, он создает входной поток и считывает 1 текстовую строчку, от клиента, который был подключен.
- Поток номер 2 — SimpleClient, подключается к сокету сервера, открытого SimpleServer. Он отправляет одну текстовую строчку.
Получается, что 2 потока будут в разных классах, запущенных двумя разными основными методами, чтобы вызвать исключение:
Как вы можете видеть, я поместил в SimpleClient 15-секундную задержку, прежде чем попытаться отправить свое сообщение. К тому моменту, когда клиент вызывает sleep(), он уже создал соединение с сервером. Я собираюсь запустить оба потока, и после того, как клиент установит соединение, я внезапно остановлю клиентское приложение.
Вот что происходит на стороне сервера:
Конечно, вы можете сделать оперативное закрытие соединения, не закрывая приложение вручную. В коде клиента, после ожидания в течение 15 секунд (или меньше), вы можете выдать новое исключение (используя throws new Exception ()), но вы должны удалить finally, иначе соединение будет нормально закрываться, и SocketException не будет сброшен.
Как решить проблему с SocketException
SocketException — это общее исключение, обозначающее проблему при попытке доступа или открытия Socket. Решение этой проблемы должно быть сделано с особой тщательностью. Вы должны всегда регистрировать сообщение об ошибке, которое сопровождает исключение.
Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь то более современного браузера. 🙁
запустил серв scrape’s LP pack v.2.8 , немного его под редактировал пригласил друга играем 5 минут вылет Internal exception: Java.net.SocketTimeoutException: Read timed out опять запустил такое же потом я захожу на серв один и сервер сразу же крашится а потом вылетает с этой же ошибкой
интернет норм -кабельный
оперативка 6 гигов
ПОМОГИТЕ ПИИИЗ
А и вот краш репорт:
CONVICT,
То, что тебе пишет, это проблема из за интернета.
У меня такое же было
не не помогает я сначала захожу регаюся а патом мне выскакует ошыбка написано перейдите на 64 биту джаву и я ето зделал ошыбка пропала захожу в игру играю 1 минуту и вылет написона internal exception java.io.ioexception
не не помогает я сначала захожу регаюся а патом мне выскакует ошыбка написано перейдите на 64 биту джаву и я ето зделал ошыбка пропала захожу в игру играю 1 минуту и вылет написона internal exception java.io.ioexception
При подключении периферии убедитесь в наличии пломбы на кабеле