本篇文章笔者在北京游玩的时候突然想到的...近期就有想写几篇关于网络监听的博客,所以回家到之后就奋笔疾书的写出来布发了

平台: RK3066 ARM9核双 Android4.1

一 Network Daemon(netd)功能概述:

Netd是Android的网络护守程进。NetD是个网络管家,封装了庞杂的底层各种类型的网络(NAT,PLAN,PPP,SOFTAP,TECHER,ETHO,MDNS等),隔离了底层网络接口的差异,给Framework供提了同一用调接口,简化了网络的用使。NetD主要功能是:第一、收接Framework的网络请求,处置请求,向Framework层反馈处置结果;第二、监听网络事件(断开/连接/错误等),向Framework层上报。
NetD程序的大概逻辑: [Kernel] <--Network Event--> (NetD) <--Command--> [Framework]。事件和令命传送采取跨程进信通机制(SOCKET)。

二 Network Daemon(netd)码源分析:

Netd:/System/netd/system/core/libsysutils/src/system/core/include/sysutilsFramework:/frameworks/base/services/java/com/android/serverint main() {       NetlinkManager *nm = NetlinkManager::Instance();      /*实例化一个令命监听示例,监听Framework令命,处置完成后复恢Framework层*/    CommandListener *cl = new CommandListener();     nm->setBroadcaster((SocketListener *) cl);     /*开启监听内核网络事件程线*/    nm->start();    /*cl 开启程线,监听 framework 层下发的令命,并用调相干函数处置 */      cl->startListener();    /*置设为内网DNS式模*/    setenv("ANDROID_DNS_MODE", "local", 1);    DnsProxyListener *dpl = new DnsProxyListener();      dpl->startListener();     /*播多DNS*/    MDnsSdListener *mdnsl = new MDnsSdListener();      mdnsl->startListener();}

三 Network Daemon(netd)架构分析:



四 如果与Network Daemon(netd)交互:

网络护守程进netd,有很多功能,程序可以通过它查询各种网络的状态或拦截各种网络事件。上面就用以布发一个网络服务为例说明,体具的一个程序如何与net交互。



文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
  写字楼里写字间,写字间里程序员;
  程序人员写程序,又拿程序换酒钱。
  酒醒只在网上坐,酒醉还来网下眠;
  酒醉酒醒日复日,网上网下年复年。
  但愿老死电脑间,不愿鞠躬老板前;
  奔驰宝马贵者趣,公交自行程序员。
  别人笑我忒疯癫,我笑自己命太贱;
  不见满街漂亮妹,哪个归得程序员。

更多相关文章

  1. Android(安卓)framework浅析[转]
  2. [置顶] Android:在任意位置获取应用程序Context
  3. android学习笔记(二) 之 android工程文件分析
  4. android 陀螺仪简单使用,判读手机是否静止状态
  5. Android程序猿挑战高薪必会的十大面试题
  6. Android(安卓)使用RxJava+Retrofit +Realm 组合加载数据 (二)
  7. android学习笔记1-android介绍以及学习方法
  8. [Android]使用achartengine开发曲线图相关的Android应用程序
  9. Android(安卓)的网络编程(3)-HttpURLConnection接口

随机推荐

  1. Android:布局(线性布局LinearLayout)
  2. Android ActionBar的源代码分析(一)
  3. 学习笔记| (二)IPC机制
  4. android --多线程下载
  5. android中SurfaceView SurfaceHolder Sur
  6. 安卓ListView去除分割线、设置边距
  7. Android(安卓)Sqlite使用中注意事项
  8. 【转】禁止android横屏和竖屏的切换
  9. Android团队如何进行情感设计
  10. Android 1.0将不支持开发蓝牙和Gtalk应用