Java socket IOException - 权限被拒绝

Posted

技术标签:

【中文标题】Java socket IOException - 权限被拒绝【英文标题】:Java socket IOException - permission denied 【发布时间】:2011-05-03 18:05:29 【问题描述】:

我正在尝试使用以下 java 代码连接到我的网络上运行 tcp 侦听器的服务器。我得到了 IOException - 权限被拒绝。它来自一个 android 2.2 模拟器。

有人知道为什么吗?

Socket socket = new Socket("1.1.1.1", 1111);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("test");
socket.close();

【问题讨论】:

你的清单中确实有网络权限,对吧? 另外,关于此类异常,请阅读 LogCat 屏幕中的详细信息,控制台会提供很多帮助。 【参考方案1】:

是的,就像 Morrison 上面所说的那样,您可能需要将此权限放入清单文件中。

<uses-permission android:name="android.permission.INTERNET" />

【讨论】:

请注意,这不是您手机应用设置中出现的权限,因为它不是危险权限之一。不过,这将删除 Permission denied 异常。参考:***.com/questions/38284554/…【参考方案2】:

你没有把这行代码放在 android.manifest 中可能有两个原因

   <uses-permission android:name="android.permission.INTERNET" />

或者它可能是由于防火墙设置。您的 Eclipse 可能已被防火墙阻止,无法通过网络进行通信。

【讨论】:

以上是关于Java socket IOException - 权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

java.io.IOException: read failed, socket might closed or timeout, read ret: -1

java.io.IOException: 远程主机强迫关闭了一个现有的连接。

JAVA: Socket和ServerSocket网络编程

java,仿qq,socket,tcp连接做出一个聊天室

java,仿qq,socket,tcp连接做出一个聊天室

Java Socket基本使用