我正在使用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的库?
答案 0 :(得分:0)
您只能使用当前主机的本地IP地址。你不能使用存在于调制解调器,路由器等另一端的IP地址。我只想绑定到0.0.0.0,这是Java中InetAddress
的{{1}}:那么你就可以在任何接口上进行监听,如果你设置正确,路由器将负责端口转发。