2012-12-03 99 views
3

我在这还有什么其他情况不知道(SocketException:权限被拒绝:连接)错误会从线抛出SocketException:权限被拒绝:连接

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手机作为热点),但奇怪的是仍然出现错误。

EDIT2:

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 

回答

1

客户端未被拒绝连接。它被拒绝权限连接,由本地操作系统。

在Java 1.4中添加了IPv6支持。

+0

公平评论我刚刚意识到最近有一些ipv6问题(在Java 7上)(现在协议现在在服务器和客户端机器上都被禁用了,适配器重新启动) – Hemmels

+0

@Hemmels在您的题。 – EJP

0

嗯,首先,让我们 'MyIpAsAString' 和端口将是有益的。无论如何,你确定服务程序运行在该IP和端口上吗?这通常是为什么,或者你自己的连接代码本身是不正确的。

+0

这不是'连接被拒绝'的错误。 – EJP

+0

那么,在这种情况下,它可能也只是计算机有一个防火墙或沿线拒绝外部请求的东西。 – VoidWhisperer

+0

在问题中添加了我的实际IP。 – Hemmels

0

这是为了处理客户端上非常本地化的网络设置。其他客户端可以没有问题地连接,我认为这可能与工作组或特定本地客户端防火墙有关。谢谢大家。

-1

希望这个链接将帮助你。

检查这些链接

https://www.java.net//node/703177 

http://www-01.ibm.com/support/docview.wss?uid=swg21496098 

https://groups.google.com/forum/#!topic/google-web-toolkit/LQfsBSwD_ug 
0

对于那些有类似的问题在这里落地雷。

我从maven运行Spockgroovy测试时出现此错误。运行groovy测试直接运行正常,但从maven运行它们失败。

要解决该问题,请将maven-surefire-plugin配置为永不分叉。

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19.1</version> 
      <configuration> 
       <forkMode>never</forkMode> 
      </configuration> 
     </plugin> 

不知道为什么这解决了这个问题 - 将欢迎评论。