![](/img/trans.png)
[英]java.net.BindException: bind failed: EACCES (Permission denied) when trying to create DatagramSocket for UDP connection
[英]java.net.BindException: bind failed: EACCES (Permission denied) TCP Server
首先,我知道,有些人遇到同样的问题,但他们的修复程序对我不起作用。
所以我得到的例外是:
java.net.BindException:绑定失败:“ serverSocket = new ServerSocket(port);”行上的EACCES(权限被拒绝); 而且我不知道问题出在哪里。 我尝试过:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
检查权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
我尝试的最后一件事是使用不同的端口,包括1024以下。
请帮忙
编辑:我只是有Facepalm时刻,我创建了一个对话框,我在其中键入端口,但我忘记了传递值,所以一直以来它都试图通过端口1000进行连接(这在Linux和Unix系统中是不可用的),所以无论如何,谢谢停止在这个线程上,我很抱歉浪费你们任何时间
我认为您实际上不需要检查是否已授予INTERNET权限。 如果您在MANIFEST中定义了它,则总是被授予。 也许您在测试中遇到错误:只需尝试再次卸载并安装您的应用程序即可。 我最近写了一段代码,该代码可以运行TCP服务器而不会遇到该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.