GNetLib - java.net.BindException: невозможно назначить запрошенный адрес: JVM_Bind

Я тестирую свой сервер, используя GNetLib для своей сети на своем компьютере. Всякий раз, когда я использую IP-адрес своей сети, он не позволяет привязываться.

GNetServer netserver = new GNetServer(ServerConstants.HOST, ServerConstants.PORT);
    netserver.addEventListener(new ServerEventListener() {

       //random stuff not related to problem
    });

    netserver.bind();

Мой хост "76.5.43.21" // Не публикую мой фактический IP, но суть вы поняли. Порт 43594, и я уже проверил соединение с помощью canyouseeme.org, и он говорит об успехе.

Вот полная ошибка:

java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.gnet.server.GNetServer.bind(GNetServer.java:98)
at org.ott.Server.main(Server.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Проблема в том, что я использую IP-адрес своей домашней сети, или библиотека ограничивает IP-адрес, который я могу использовать?


person Scott Perretta    schedule 01.06.2015    source источник


Ответы (1)


Вы можете использовать только IP-адрес, локальный для текущего хоста. Вы не можете использовать IP-адрес, который находится по другую сторону модема, маршрутизатора и т. д. Я бы просто привязался к 0.0.0.0, что в Java является InetAddress из null: тогда вы слушаете любой интерфейс и маршрутизатор позаботится о переадресации портов, если вы правильно настроили его.

person user207421    schedule 01.06.2015
comment
Я изменил HOST на 0.0.0.0, однако он по-прежнему не подключается с клиента. Однако на этот раз он связывается, клиент не будет подключаться. - person Scott Perretta; 01.06.2015
comment
Новый выпуск. Не подключается как? Время соединения вышло? В соединении отказано? Теперь это проблемы с брандмауэром / переадресацией портов. - person user207421; 01.06.2015
comment
Я опубликую новый вопрос, спасибо, что помогли мне с этим! - person Scott Perretta; 01.06.2015
comment
В основном я открываю приложение, и оно продолжает получать адрес, но никогда не подключается. - person Scott Perretta; 01.06.2015