2015-06-01 45 views
0

我正在測試我的服務器,使用GNetLib在我的計算機上進行網絡連接。每當我使用我的網絡的IP,它不會讓我綁定。GNetLib - java.net.BindException:無法分配請求的地址:JVM_Bind

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

您只能使用當前主機本地的IP地址。您不能使用位於調制解調器,路由器等另一端的IP地址。我只能綁定到0.0.0.0,這是在Java中的的null:然後您正在監聽任何接口,並且如果您的設置正確,路由器將負責端口轉發。

+0

我將HOST更改爲0.0.0.0,但它仍然不會從客戶端連接。但是這次綁定,客戶端不會連接。 –

+0

新問題。不會連接如何?連接超時?拒絕連接?這些是現在的防火牆/端口轉發問題。 – EJP

+0

我會發佈一個新問題,感謝您幫助我解決這個問題! –

相關問題