我想知道在什么其他情况下,这个错误(SocketException: Permission denied: connect)会从该行抛出。
与Android权限有关的问题与使用端口<1024有关。我正在运行一个简单的Java客户端/服务器应用程序,端口为6464,并且我正在使用Java 1.6.0_32(在阅读了Java 1.7.0_7添加ipv6支持后)。
我将端口80转发到我的服务器(通过在浏览器中输入我的外部IP地址来验证客户机上的端口),端口6464也是开放的。
为什么客户端会被拒绝连接?
编辑:当尝试从服务器本身连接到服务器时,我最初会收到此错误。(显然,我想这就像一个电话一样,你会得到占线的音调)。我让朋友进行了测试,他可以连接。现在我正在连接一台不在局域网上的笔记本电脑(即使用3g手机作为热点),但奇怪的是仍然出现错误。
编辑2:
SocketAddress socketAddress = new InetSocketAddress("86.143.5.165", 6464);
// Set a 3s timeout
clientSocket.connect(socketAddress, 3000);
与Android权限有关的问题与使用端口<1024有关。我正在运行一个简单的Java客户端/服务器应用程序,端口为6464,并且我正在使用Java 1.6.0_32(在阅读了Java 1.7.0_7添加ipv6支持后)。
我将端口80转发到我的服务器(通过在浏览器中输入我的外部IP地址来验证客户机上的端口),端口6464也是开放的。
为什么客户端会被拒绝连接?
编辑:当尝试从服务器本身连接到服务器时,我最初会收到此错误。(显然,我想这就像一个电话一样,你会得到占线的音调)。我让朋友进行了测试,他可以连接。现在我正在连接一台不在局域网上的笔记本电脑(即使用3g手机作为热点),但奇怪的是仍然出现错误。
编辑2:
java.net.SocketException: Permission denied: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at runtime.MyGame.main(MyGame.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
#### Java Web Start Error:
#### Socket failed to connect