2

我在 C 中创建了一个 unix 套接字,并用 ndk 编译它,并通过 adb 我将它从我的 SD 卡推到 /data/local 中。我将该文件的权限更改为 777 并使用 ./ 执行它。现在我可以在 /dev/socket 中看到我自己制作的套接字了。

现在我正在尝试通过以下 JAVA 代码连接此套接字:

            mSocket = new LocalSocket();

            mSockAddr = new LocalSocketAddress( "rilproxy"  );
            mSocket.connect( mSockAddr );

我收到以下错误:

java.io.IOException:连接被拒绝

我努力解决这个问题,但没有运气。在这方面的任何帮助将不胜感激。

4

1 回答 1

0

您是否在 Android 清单文件中授予 Internet 权限?如果不是,那么您的第一个套接字连接本身将失败..(在其清单中声明网​​络权限的正确编码的 android 应用程序可以接受未授权端口上的连接,因为设备上没有防火墙。)

将以下行添加到您的 AndroidManifest.xml

如果在模拟器上进行测试,则使用 10.0.2.2 代替 localhost(如果在模拟器中运行应用程序,10.0.2.2 是您将使用的“神奇”IP 地址。)

于 2013-01-08T13:15:55.880 回答