繁体   English   中英

java.net.BindException:绑定失败:EACCES(权限被拒绝)TCP Server

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM