##############################################
目的:实现本地 C程序与apk的socket通信。
原理:没有涉及到网络通信,所以使用Android封装的local socket要更简单
参考:系统源码RIL模块
###############################################
1) server_fd = socket_local_server (SOCKET_NAME_XXH,
C 客户端:ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM);2) s_fdListen = listen(server_fd, 4);3) while((socket = accept(server_fd, NULL, NULL)) > 0)
1) fd =socket_local_client(OCKET_NAME_XXH,
ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM);
2) write(fd, "hello", 5);
JAVA 客户端:
1) localSocket = new LocalSocket();
2) localSocket.connect(new LocalSocketAddress(socketAddress));
3) OutputStream os = localSocket.getOutputStream();
Namespace:
LocalSocketAddress.Namespace ABSTRACT A socket in the Linux abstract namespaceLocalSocketAddress.Namespace FILESYSTEM A socket named with a normal filesystem path.LocalSocketAddress.Namespace RESERVED A socket in the Android reserved namespace in /dev/socket.
本文详细介绍了如何在本地C程序与APK之间通过socket进行通信,包括服务端和客户端实现步骤,并解释了不同命名空间的作用。
7763

被折叠的 条评论
为什么被折叠?



