1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

[Javа] Домашний сокет сервер

Тема в разделе "Оффтопик", создана пользователем Типа админ:D, 17 авг 2016.

  1. Автор темы
    Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    У меня имеется один ПК(он подключён напрямую к роутеру), на котором запущен сокет сервер (localhost:9999), и два ноутбука(они подключены к роутеру по Wi-Fi) с запущенными сокет клиентами, которые ДОЛЖНЫ подключится к сокет серверу, но не делают этого. Вместо подключения выбивается ошибка Connection refused: connect. В стак трейсе ругается на строку 24:

    Код:
    socket = new Socket("localhost", Integer.parseInt(Main.config.getOption("socket.port"))/* порт 9999 */);
    Объясните мне, как сделать так, чтобы ноутбуки подключились к сокет серверу.

    Мой роутер: TP-LINK

    (Я в айпишках туповат. Не орите. (И сокеты тоже))
     
  2. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Мда, согласен с тобой.
    Ты прикрепляешь сокет-сервер на адрес localhost(обычно это 127.0.0.1), а тебе надо твой ip на роутере.
    Если у тебя винда, то иди в "Центр управления сетями и общим доступом", там нажми на соединение(справа от "тип подключения" будет что-то вроде ссылки), там нажми на "сведения", там будет строка "Адрес IPv4", в этой строке будет твой ip на роутере, используй его вместо localhost.
     
  3. Автор темы
    Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    192.168.1.105
    Connection timed out: connect
     
  4. Автор темы
    Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    Тема закрыта!
    Решение: надо было создать виртуальный сервер в настройках роутера.
     
  5. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Если все клиенты роутера находятся в одной подсети, нет никакого смысла прописывать виртуальный сервер на роутере. Эта фишка нужна для доступа к твоему серверу ИЗВНЕ (WAN), а в пределах подсети все устройства по сути соединены концентратором (даже несмотря на WiFi, что есть просто физический уровень, отличный от провода).
    Сокет сервер открывается на всех интерфейсах на порту 9999, клиенты открывают соединение на IP сокет-сервера на порт 9999.
    Тот факт, что ты в клиентах используешь IP роутера, просто добавляет примерно в два раза пакетов, носящихся по твоей локалке.
     
  6. Автор темы
    Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    В моём случае виртуальный сервер обязателен. После его создания всё подключилось как надо.
     
  7. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    В твоём случае
     
  8. Автор темы
    Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    Но я же читал вики((9
     
  9. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    хост зачем указывать? 0.0.0.0 и принимает со всех интерфейсов, а у тебя локалхост, значит только с того же компа соединение и примет
     

Поделиться этой страницей