Дело такое. Я с другом решил поиграть в мультиплеер майнкрафт. Он создал сервер, а я хотел зайти через хамачи. Проблема в том, что меня кикает из сервера с ошибкой java.net.SocketTimeoutException: Read Timed Out. Играем мы на одинаковых версиях, хамачи вроде как работает. Подскажите, что делать? Я думаю, что тут возможны несколько причин:
1. Самая вероятная.
Скорее всего, проблема в том, что друг криво настроил настроил сервер. Я как только начинал создавать свои сервера, я тоже сначала их криво настраивал, после чего появлялась такая ошибка.
2. Менее вероятная.
Ошибка связана с хамачи, который скорее всего криво настроен. Но это тоже мало вероятно, так как желтого треугольника возле ника нету.
3. Самая невероятная причина.
Возможно в ethernet кабеле 3 контакт RX+_D2 на +получение данных немного обломан, а так как чем меньше площадь поперечного сечения проводника, тем больше его сопротивление, возможно именно из-за этого у меня выскакивает ошибка. Скорее всего, кабель обломался на половину. Длина обломанного кабеля скорее всего будет радиусом кабеля. Давайте вычислим сопротивление. Я его попробовал вычислить на фото. Возможно я вычислил его неправильно, но тем не менее, сопротивление в этой области в 2 раза больше всего кабеля. А чем больше сопротивление, тем меньше ток. Давайте пойдем дальше. Я соединяюсь с другом через хамачи. Хамачи использует для связи UDP протокол. При работе программа для соединения с центральным сервером использует порты 12975 и 32976. Первый (12975) для установки соединения, второй (32976) во время работы. А так как кабель поврежден, то и получаемая информация тоже может быть повреждена. Допустим сервер отправил число 123. В двоичном коде это 110001 110010 110011. Из-за поврежденного провода, некоторые биты могут не отправиться. Я нарисовал это на рисунке. В итоге, отправилось , что является пустыми символами. Так как игра не может их распознать, она и не может подключиться к серверу. Рассмотрим ошибку. Она выглядит так -
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.io.InterruptedIOException
java.net.SocketTimeoutException
Это сигнал о том, что время чтения истекло. Это вполне логично, когда игра не может распознать то, что отправляет сервер.
В общем, жду вашего ответа. Как это исправить?
1. Нах*й это всё ты написал
2. Купи аккаунт. (Это не сложно).
Просто удали все программы и игры и переустонови виндовс!
Попробуй переустанови java
1.нужна лицензия
2.возможно ошибка в хамачи
то есть если горит! Знак
3.нужно выключить брендмауэр виндовс как его выключить можно в инете посмотреть