Android local socket 进程间通讯实验

记Android关于Unix abstract socket的连接问题 记Android关于Unix abstract socket的连接问题 Keywords Android Unix abstract namespace socket LocalSocket LocalServerSocket length 地址长度 正文 在一个项目中,需要 native 的程序对 java 的LocalServerSocket发起连接。即 Java 端监听某个 Unix 套接字,等待 native 的程序连接。结果死活连不上,总是提示Connection Refused(110)。 这是 阅读详情
##############################################
目的:实现本地 C程序与apk的socket通信。
原理:没有涉及到网络通信,所以使用Android封装的local socket要更简单
参考:系统源码RIL模块
###############################################

C程序 服务端:

    1)  server_fd = socket_local_server (SOCKET_NAME_XXH,
                ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM);
2)  s_fdListen = listen(server_fd, 4);
3)  while((socket = accept(server_fd, NULL, NULL)) > 0)


C 客户端:

        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 namespace   
LocalSocketAddress.Namespace  FILESYSTEM  A socket named with a normal filesystem path.  
LocalSocketAddress.Namespace  RESERVED  A socket in the Android reserved namespace in /dev/socket. 

QQ 240136495

http://www.jsqj.cc 军事新闻 爱好者。


android6.0 adbd深入分析(二)adb驱动数据的处理、写数据到adb驱动节点 上篇博客最后讲到在output_thread中,读取了adb驱动的数据后,就调用write_packet(t->fd, t->serial, &p)函数,把数据网socketpair的一侧写。 这会导致socketpair的另一侧有数据,另一侧有数据会调用transport_socket_events函数来处理数据。 一、处理驱动读取的数据 我们现在来看看transport_ 阅读详情

相关推荐

Andorid进程间通信之 UNIX SOCKET

UNIX SOCKET实现进程间通信

littleyards的博客 1434

android socket通讯

项目中要用到进程间通讯,服务端接收应用的请求数据,对串口进行读写操作。考虑到android的socket服务比较实用,并且可以支持多个客户端同时连接。 服务端写成一个服务,在init.rc中启动,示例代码如下: socket_keyboard.c: #define LOG_TAG "socket-keyboard" #include #include #include #incl

xiaofengcanyue2013的专栏 2802

从ADB Shell到后台运行:搞定Android手机Frida-Server部署与管理的完整流程

本文详细介绍了Android设备上Frida-Server的完整部署与管理流程,包括架构匹配、版本兼容性、二进制文件推送、权限配置及后台运行技巧。通过实战案例和高级配置,帮助安全研究人员高效部署Frida-Server,应对动态分析和修改应用行为的挑战。

weixin_30654583的博客 396

进程间通信之UNIX域套接字(UDS)

UNIX域套接字(UDS):UNIX Domain Socket         UNIX域socket实现本地进程间通信,需要一个进程作为服务器端,一个进程作为客户端,使用方法有点像socket网络,但又不经过网络底层的那些东西。与网络编程最不一样的地方是服务器端bind的时候用的是sockaddr_un结构,客户端connect的时候用的也是sockaddr_un结构,而不是sockaddr_...

宁静以致远 1万+

Android安全机制深度解析与Ghost Framework高级绕过实战

在移动安全领域,Android系统的安全机制构成了一个纵深防御体系,从应用沙盒、权限模型到SELinux和Verified Boot,层层防护旨在保障设备和数据安全。理解这些机制的原理,是进行有效安全评估和渗透测试的基础。通过深入分析Android的安全架构,安全研究人员可以识别其攻击面,例如利用共享存储、IPC接口或ADB权限作为突破口。这些技术价值在于,它们不仅有助于防御加固,更能指导在合法授权范围内进行深度安全测试。在实际应用场景中,结合像Ghost Framework这样的自动化渗透测试工具,可以构

weixin_30387423的博客 391

移动端SSH密钥安全管理:OpenKeychain与SSH代理集成指南

SSH密钥是访问远程服务器和代码仓库的核心身份凭证,其安全存储与便捷使用是运维与开发中的基础需求。传统方案中,私钥通常存储在固定设备上,限制了移动办公的灵活性。SSH Agent机制通过代理进程管理解密的私钥,实现一次解锁、多次签名,提升了安全性与便利性。将这一机制延伸至移动端,结合OpenPGP标准的安全存储能力,可以构建跨设备的统一密钥管理体系。通过格式转换工具,可将标准OpenSSH密钥安全地导入OpenKeychain等移动端应用,使其充当SSH代理,从而在Termux等移动终端环境中直接调用。该方

weixin_36250541的博客 404

LocalSocket实现进程间通信

LocalSocket实现进程间通信android下使用localsocket可以实现C与C,C与JAVA,JAVA与JAVA进程间通信。 localsocket是linux下的一种本地套接字,用来进行进程间通信,分为非命名和命名两种类型,非命名本地套接字只能用在父子进程之间通信(其实是只有保存了未命名的套接字的文件描述符的进程可以使用),命名套接字则没有这个限制。android在linux的本地

daozi22的专栏 1万+

ComfyUI节点流实战:用Wan2.1制作电商短视频全流程(附人物/商品模板)

本文提供了一份详尽的ComfyUI实战教程,指导用户如何利用通义万相Wan2.1图生视频模型,高效制作适用于抖音等平台的电商短视频。内容涵盖从环境部署、核心工作流搭建,到针对服装、3C数码等品类的高级提示词模板与参数调优,旨在帮助电商从业者快速生成高质量、高保真商品展示视频,显著提升内容生产效率。

potato的博客 1280

Android Framework实战开发视频--跨进程通信之Unix Socket通信

Android Framework实战开发视频–跨进程通信之Unix Socket 1 专门用于跨进程通信的Unix Socket 上一节课我们已经对Socket的网络通信已经进行了全面的了解及实战,学会了通过ip地址来进行一种网络通信,但这种通信一般用于跨设备访问场景。而我们如果在同一个设备上,只是进程与进程之间的一种通信,那就完全没有必要使用这种网络通信方式,因为明显感觉不合适,进程间本身处于一个设备上,为啥还要通过ip网络,网卡走一圈再回来。所以针对这个问题就出现了本节课要讲的Unix Domain

learnframework的博客 1803

别再怕DRIVER_VERIFIER_DMA_VIOLATION蓝屏:手把手教你用WinDbg分析IOMMU与驱动冲突

本文深入解析DRIVER_VERIFIER_DMA_VIOLATION蓝屏错误,从IOMMU原理到实战排错,手把手教你使用WinDbg分析驱动冲突。通过理解DMA与IOMMU的核心机制、搭建分析环境、解读DMAR表与设备拓扑,最终定位问题驱动并提供解决方案,帮助开发者和IT运维人员有效应对此类系统崩溃问题。

weixin_30298497的博客 803

光伏发电系统模拟及其发电预测开源python工具pvlib

本文介绍光伏发电系统模拟及其发电预测开源python工具pvlib,以及举例介绍获取辐照度方法、光伏发电预测思路。

肖永威的专栏 1万+

Android Framework实战开发视频--跨进程通信之Socket通信

Android Framework实战开发视频–跨进程通信之Socket通信 1 Socket是什么呢? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 2、Socket的方法介绍 既然是相互之间的通信,那就肯定有客户端和服务端,那么使用socket通信时候二者的具体流程是怎么样的?那我

learnframework的博客 1735

STM32F103C8T6蓝莓派用HAL库GPIO模拟SPI驱动MAX31865读取PT100温度(附完整代码)

本文详细介绍了如何在STM32F103C8T6蓝莓派开发板上使用HAL库通过GPIO模拟SPI驱动MAX31865读取PT100温度传感器的完整方案。内容包括硬件连接、CubeMX配置、GPIO模拟SPI实现、温度计算算法及常见问题排查,并附有完整代码示例,帮助开发者快速实现高精度温度测量。

weixin_30684743的博客 937

Andorid UNIX SOCKET c代码进程和java代码进程之间通讯

一文的实战中,服务端和客户端的代码都是用C语言写的,而Androidd的系统源代码以及APP大多数都是java写的,那么不同的语言写的进程之间,能不能互相通信呢?java代码也是一样的,在connect方法中也是调用socket和connect 来和服务端建立连接。对于UNIX SOCKET ,C代码和Java代码之间是可以相互通信的,并且可以相互作为客户端和服务端通信。需要注意的是,address的Namespace默认为ABSTRACT,在调用connect的过程中,对于ABSTRACT,有以下处理。

littleyards的博客 678

sap外币重估流程图_SAP 外币评估方法(Valuation Method,评估方法)

在FI-GL模块评估外币时(T-code:F.05),需要输入ValuationMethod。下面分解一下评估方法是如何定义的。IMG -> FI -> General LedgerAccounting ->Business Transactions ->Closing ->Valuating -> ForeignCurrency Valuation ->...

weixin_39640543的博客 2356

TMS320F280049C 学习笔记21 交叉开关 Crossbar (X-BAR)

简单介绍了X-BAR。

whyorwhnt的专栏 2万+

android local socket,Android 进程通信套接字LocalSocket

我们知道,Android上常见的多进程通讯有以下几种:AIDL 进程通信接口Binder接口Messenger通信框架BroadCastReciever 广播ContentObserver/ContentProviderFileObserver(http://blog.youkuaiyun.com/happy_6678/article/details/7095012)网络,(http网络中转,rpc,dwr,...

weixin_42523720的博客 473

【乐鑫】唤醒词修改方法

乐鑫科技的语音识别模块(如ESP-SR)支持自定义唤醒词,但需通过官方工具链完成。

以实战经验介绍行业知识 827

php使用tcp长连接的一种优化思路

一、面向人群如果站点架构满足以下几点,那么本文的优化方案会非常适合:1)使用php等脚本语言作为开发语言2)需要连接后端服务,例如RPC服务、memcache或redis...

shenjian58的博客 842

61、增益调度控制器:原理、建模与调优

本文详细介绍了增益调度控制器的原理、建模方法和调优流程。增益调度是一种针对非线性系统的控制策略,通过在不同工作点使用不同的线性控制器实现全局控制。文章涵盖了在Simulink中使用Control System Toolbox模块建模的具体步骤,以及如何利用systune进行增益调度表的调优。同时,还讨论了实际应用中的注意事项、典型案例(如化学反应器和飞机控制),并与其它控制方法进行了对比。最后,文章展望了增益调度控制器的未来发展趋势,包括与人工智能的结合、多目标优化调优以及实时调优能力的提升。

rgv234567的博客 186

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

网络通信之Socket与LocalSocket的比较

Socket与LocalSocket都可以实现网络通信,两个有什么区别呢? LocalSocket其通信方式与Socket差不多,只是LocalSocket没有跨越网络边界。 于是,思考到一个问题:android应用与PC端的服务器应用进行通信时,能否用Socket、LocalSocke来实现? 1.Socket肯定是能实现的。 2.LocalSocket能实现吗? 估计是不能,与PC端...

weixin_34362875的博客 245

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

你可能没听过的LocalSocket

相信大家对Socket都不陌生,但是对于是什么,可能就不太了解了,笔者也是孤陋寡闻,第一次听说这个,起因是在项目中用到这个东西,感觉很新奇,于是学习了一波将其记录下来。探索过程发现Android系统中也有多处使用了它,写着写着就有了这篇较为深入的文章。LocalSocket是个啥通过LocalSocket实现通信过程从源码角度分析进程是如何通过实现与Zygote进程通信的如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。

大模型训练 1355

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android LocalSocket 是什么?

因此,如果您计划与同一主机上的进程进行通信,这是比 IP 套接字更好的选择。其实这是因为 socket 本身是为网络通讯设计的,它保证了不同主机间通信,需要经过网络协议栈,且需要做更多的操作来保证安全验证,而这些安全性保证背后牺牲的是效率。UNIX-domain Socket 是在 Socket 的基础上衍生出来的一种IPC通信机制,它允许数据在两个方向上同时传输。UNIX 套接字是一种进程间通信机制,允许在同一台计算机上运行的进程之间进行双向数据交换。LocalSocket 也称为本地套接字。

qq_27494201的博客 470

TDengine部署实操手册:避开MySQL思维陷阱的时序数据库安装指南

时序数据库与传统关系型数据库在架构设计、进程模型和运行依赖上存在本质差异。TDengine作为专为物联网和工业场景优化的高性能时序引擎,采用自研守护进程、静态链接运行时、固定端口(6030)及mmap内存映射等底层机制,不兼容systemd服务管理、标准配置路径或通用包管理器依赖逻辑。其部署核心在于理解操作系统级约束(如glibc版本、hugepage支持、vm.max_map_count调优)与TDengine特有的权限隔离模型(非root运行taosd)、节点标识机制(fqdn/firstEp)和网络栈

weixin_34348805的博客 315

深入C++与QT高频面试题(不定时更新)

本文总结了C++、数据库和Qt相关的常见面试题,涵盖以下核心内容: C++特性与智能指针 智能指针(unique_ptr/shared_ptr/weak_ptr)解决内存管理问题 构造函数/析构函数特性,虚函数与纯虚函数区别 STL容器分类与特性(vector/list/set/map等) 多线程编程 线程创建方式(Thread类/moveToThread) 线程同步机制(互斥锁/条件变量/读写锁) 进程间通信方式(管道/共享内存/消息队列) 数据库基础 事务ACID特性与操作流程 索引原理与使用场景 关系

阿博的博客 1255
上一篇: 在Android上使用LocalSocket实现上层Java和底层C++的通信案例
下一篇: HttpClient入门
小明做IT
博客等级 码龄18年 30粉丝 23原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值