adaway的jni设计摸索
来源:互联网 发布:上海茜昶网络培训的 编辑:程序博客网 时间:2024/06/04 21:16
adaway的jni单从文件夹名来说,分为blankwebserver,dnsmasq,libpcap,tcpdump四个部分。
应该和协议相关的很紧密。这几天一点一点看看这些都是什么吧。
一.mongoose是blankwebserver的核心,貌似此模块是在后台启动一个空server,通过callback来回馈其想要的信息。具体还待进一步验证。
blank_webserver.c描述了adway最想这个模块做的事情。
其流程为:
首先检查是否已经存在一个后台进程,如果有,则进行下一步;没有则获取新的fork,建立新进程,即后台进程;
然后通过mongoose特有的mg_start方法启动对127.0.0.1:80,127.0.0.1:443端口的监听;其返回结构体mg_context *ctx
未收到退出标志位时一直监听。
直至标志位改变,mg_stop(ctx)来结束blank webserver的使命。
二.开始看到dnsmasq,libpcap,tcpdump觉得很深奥,不知道什么时候才能弄清楚。现在才知道,其是,就是单纯地源码编译出相应的库,然后androd的java程序中调用。从Application.mk可以看出其用途。
libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。这里引入它主要是为了tcpdump的编译。
- adaway的jni设计摸索
- 一次架构设计的摸索
- 一次架构设计的摸索
- Matlab设计技巧----自己摸索的一些技巧 (持续更新)
- Java 设计摸索--访问者模式
- Java 设计摸索--访问者模式
- wxWidgets的摸索
- 摸索openwrt的经验
- postgresql数据库的摸索
- 我的Linux摸索
- 摸索
- 摸索
- 摸索lucene的简要代码
- TListView的自画摸索
- seajs的spm使用摸索
- seajs的spm使用摸索
- seajs的spm使用摸索
- 一点摸索extjs的Desktop
- 二叉树遍历--递归及非递归解法
- 5 useful methods JSF developers should know
- gnuplot资料整理
- gdb调试器命令学习总结笔记
- 处理Newman社交网络的数据
- adaway的jni设计摸索
- 消隐与双缓冲
- SQLite代码与工具
- 为什么使用 Redis及其产品定位
- 最短路专题
- linux修改端口
- cramfs文件系统制作与移植(二)
- DOM4J的中文乱码问题
- spring读取配置文件初始化容器操作总结