看了陈硕的书,说虽然有pipe, msgget, message queue, unix domain socket, 还是建议进程间只用tcp socket来通信。
pipe的缺点是阻塞。msgget缺点是不能select。mq_send可以,但是双向通信要开两个mq。unix domain不能跨网络。tcp socket优点很多,就是处理分包比较麻烦些,不过可以抽象出来。根据我的项目需要,...
分类:
系统相关 时间:
2015-01-20 22:16:33
阅读次数:
269
跨进程调用Service(AIDL Service)
一、AIDL Service
1.什么是AIDL Service?
AIDL,即Android Interface Definition Language.是Android用于定义远程接口,AIDL接口定义语言的语法比较简单,这种接口定义语言并不是真正的编程语言,它只是定义两个进程之间的通信接口。AIDL的语法与Java接口很相似...
分类:
移动开发 时间:
2015-01-18 11:52:45
阅读次数:
304
广播的安全性Local Broadcast:App应用内广播(此处的App应用以App应用进程为界)Android中的广播可以跨进程甚至跨App直接通信,且注册是exported对于有intent-filter的情况下默认值是true,由此将可能出现安全隐患如下:1.其他App可能会针对性的发出与当...
分类:
其他好文 时间:
2015-01-17 15:06:50
阅读次数:
212
绑定服务是在android中局部使用的服务,客户端和服务是在同一进程中工作的,不需要跨进程操作。客户端通过bindService方法与服务创建关联...
分类:
移动开发 时间:
2015-01-14 11:12:11
阅读次数:
238
事出有因为何选择eventloop?EventLoop是一种推进无阻塞I/O(网络、文件或跨进程通讯)的软件模式。传统的阻塞编程也是用一样的方式,通过function来调用I/O。但进程会在该I/O操作结束前卡住不动,下面的这段伪代码可以演示阻塞I/O的情况:var post = db.query(...
分类:
Web程序 时间:
2015-01-12 22:25:26
阅读次数:
332
章节:自动化基础篇——百度Cafe原理初步(第八讲)金阳光测试官网:http://www.goldensunshine.cc/forum.php?mod=viewthread&tid=20&extra=page%3D2主要讲解内容及笔记:一、Cafe原理Cafe是一款自动化测试框架,解决问题:跨进程...
分类:
移动开发 时间:
2015-01-11 22:53:50
阅读次数:
368
一、IPC通信设定 1、AndroidManifest.xml文件 一个App可以占用多个进程 // 独立一个进程取名remote(远程) Android每个进程都有一个VM 二、IBinder接口 1、使用Java Interface定义的接口,用于跨进程调用 ...
分类:
移动开发 时间:
2015-01-09 00:06:57
阅读次数:
175
大家都知道在Android中通过AIDL可以跨进程调用Service中的数据,网上也有很多实例,但是大部分实例都是关于基本数据类型的远程调用,很少讲到复杂数据的调用,今天我用一个例子来演示一下怎样用AIDL Service 传递复杂数据。
我们分2步开始:
第一步:部署我们的服务端,也就是Service端:
1:在Service端我先自定义2个类型:Person和Pet。因为我们需要跨进程传...
分类:
移动开发 时间:
2015-01-07 15:04:06
阅读次数:
284
概述 移动应用开发中,往往有跨进程通信的需求,方便地实现程序间的数据共享。Android提供了多种IPC通信的方式,给开发人员带来了便利,但如果选择或使用不当,就有可能发生各种各样的风险。 ...
分类:
移动开发 时间:
2015-01-07 09:18:04
阅读次数:
208
大家都知道在Android中通过AIDL可以跨进程调用Service中的数据,网上也有很多实例,但是大部分实例都是关于基本数据类型的远程调用,很少讲到复杂数据的调用,今天我用一个例子来演示一下怎样用AIDL Service 传递复杂数据。
分类:
其他好文 时间:
2015-01-06 22:54:03
阅读次数:
278