GNetLib-java.net.BindException:无法分配请求的地址:JVM\u Bind

GNetLib-java.net.BindException:无法分配请求的地址:JVM\u Bind,java,network-programming,Java,Network Programming,我正在使用GNetLib测试我的服务器,以便在我的计算机上联网。每当我使用我网络的IP时,它都不会让我绑定 GNetServer netserver = new GNetServer(ServerConstants.HOST, ServerConstants.PORT); netserver.addEventListener(new ServerEventListener() { //random stuff not related to problem });

我正在使用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)
java.net.BindException:无法分配请求的地址:JVM\u Bind
位于java.net.DualStackPlainSocketImpl.bind0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
位于java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
位于java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
位于java.net.ServerSocket.bind(ServerSocket.java:375)
位于java.net.ServerSocket.(ServerSocket.java:237)
位于org.gnet.server.GNetServer.bind(GNetServer.java:98)
位于org.ott.Server.main(Server.java:91)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

问题是我正在使用家庭网络IP,还是库限制了我可以使用的IP?

您只能使用当前主机的本地IP地址。您不能使用位于调制解调器、路由器等另一端的IP地址。我只需绑定到0.0.0.0,这是Java中
InetAddress
null
:然后您在监听任何接口,如果设置正确,路由器将负责端口转发。

I将主机更改为0.0.0,但是,它仍然无法从客户端连接。但是这次它绑定了,客户端将无法连接。新问题。怎么连不上?连接超时?连接被拒绝?这些是防火墙/端口转发问题。我将发布一个新问题,感谢您帮助我解决这个问题!基本上,我打开应用程序,它一直在说获取地址,但从未连接。