openwrt中的luci界面采用JavaScript回调uci接口函数

最近一直在看luci界面开发,大家都知道luci界面开发采用的MVC架构的,由于之前没有学习过lua语言,只能硬着头皮自学了一段时间的lua脚本语言的编写。今天我想分享的经验就是怎么将uci接口函数通过XHR.poll函数和前端进行通信,进而将后台的数据显示在前端。

1. 


1、基于OpenWrt开发,编写一个ARP扫描的服务程序arpsd,用于定时扫描指定网段的主机。ARP扫描需要通过socket编程收发ARP包来实现。 2、arpsd使用uci保存配置,配置参数包括:扫描周期(秒)、有效期(秒)、发包间隔(毫秒)、起始IP、结束IP。 例如可以指定192.168.1.100-192.168.1.200,每格60秒扫描一遍,发包间隔100毫秒,如果网络中有192.168.1.101和192.168.1.102两台主机,则扫描结果就是这两个IP地址及对应的MAC地址。 扫描的结果需要在内存中管理维护,一个ARP条目如果超过有效期时间都未被再次扫描到则删除掉该条目。 3、arpsd需要提供ubus服务接口,至少提供以下接口: reload_config(重载配置)、start_scan(开始一次扫描)、stop_scan(停止扫描)、get_scan_status(扫描状态)、get_scan_result(获取最近一次的扫描结果)、clear_result(清楚历史结果)。 4、每次发现一台新的主机(之前扫描时未发现的),通过ubus事件把相关信息发送出来。 5、写一个测试程序test_arpsd,通过C代码调用ubus/uci库API的方式(不能直接调用ubus和uci命令),对各部分功能和接口进行测试。 6、在Network标签下添加一个子页面,标题为ARP Scanner。可以在该web页面上进行以下操作: 修改上述配置参数并生效、执行或终止一次扫描、获取并显示上一次扫描结果。 7、编写为Openwrt的一个软件包,包含所有的c、shell、lua、html代码及Makefile文件。
最新发布
07-02
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值