【发布时间】:2018-10-23 10:33:42
【问题描述】:
在 Android 上使用 socketIO 时出现错误
W/TcmReceiver: type=1400 audit(0.0:136495): avc: denied { write } for name="tcm" dev="tmpfs" ino=30445 scontext=u:r:untrusted_app:s0:c242,c256,c512,c768 tcontext=u:object_r:dpmtcm_socket:s0 tclass=sock_file permissive=0
安卓代码:
socket = IO.socket("http://192.168.0.101:3000");
socket.connect();
经过一些研究,它似乎与 Android 中 SELinux 强制执行的访问权限有关。这会导致 SocketIO 库中的底层套接字无法打开或读取。
作为注释 我确实启用了 Internet 权限。所以这似乎不是问题
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
有什么解决办法吗?
【问题讨论】:
-
您能详细说明您提到的一些研究吗?这听起来不对。
-
进一步证据:this question。如果您在服务器上运行 Wireshark,您会看到什么?
标签: android sockets socket.io selinux