ac与ap同步分析
1 ApStatusRequest : ap把自己的状态发过来做请求 就相当于自我介绍
网关上抓包 : tcpdump -ni br-lan tcp port 8090 -Avv / -w portal.pcap tcp协议 端口8090 可以分析
/etc/init.d/nigx restart 重启服务
ApStatusRequest:new(cjson.decode(json))数据解压 创建对象
http://192.168.156.1:8090/wacs-mana/status.ac
User-Agent: ac 1.0.0
Host: 192.168.156.1:8090
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
Content-Length: 2099
{
- "gw_id": "28450FE01F32", // SN
- "vendor_id": "XX", //供应商
- "device_type": "S826D0",
- "product_type": "WAP5230",
- "fm_name": "XX-WAP5230-WAP5120-4.3.0.2468-DEV", // 软件详细信息
- "soft_ver": "4.3.0.2468",
- "sys_load": 100,
- "status_interval": 2, // 状态间隔2分钟
- "station_agingtime": 10,
- "timer_reboot": 0,
- "ipaddr_release": 5,
- "auth_server": "10.10.10.248",
- "auth_path": "/",
- "auth_port": 8080,
- "ac_server": "xxxxxxxx",
- "ac_path": "/wacs-mana/",
- "ac_port": 8090,
- "ac_name": "2",
- "ac_outer_ip": "2",
- "ac_bak_hostname": "xxxxxxxxxxx",
- "ac_bak_path": "/wacs-mana/",
- "ac_bak_port": 8090,
- "ac_bak_sync_interval": 30,
- "acdisc_enable": 1, // 自动发现
- "auth_enable": 1, //自动注册
- "apple_auto_portal": 0,
- "escape_mode_enable": 0,
- "auth_protocol": "cmcc-portal",//授权模式
- "nas_ip": "1",
- "nas_id": "2",
- "sys_time": 1743,
- "sys_memory": 128692224,
- "sys_memfree": 64143360,
- "work_mode": 0,
- "lan_ip": "192.168.2.1",
- "wan_type": 1,
- "wan_mac": "24:05:0f:e0:1f:35",
- "wan_ip": "192.168.156.138",
- "lan_mac": "24:05:0F:E0:1F:34",
- "kick_threshold": -85,
- "band_select_enable": 1,
- "total_users": 0,
- -
"radio24g": {
- "channel": 0,
- "turn_on": 1,
- "freq_bandwidth": 1,
- "wireless_mode": 0,
- "tx_power": 27
},
- -
"radio5g": {
- "channel": 0,
- "turn_on": 1,
- "freq_bandwidth": 2,
- "wireless_mode": 2,
- "tx_power": 23
},
- -
"ssids": [
- -
{
- "ssid": "zkliulin89898",
- "vlanEnable": 0,
- "vlanId": 0,
- "bssid": "24:05:0f:e0:1f:36",
- "auth_mode": 0,
- "encryption_type": 0,
- "password": "",
- "coding_type": 0,
- "hide_ssid": 0,
- "max_users": -1,
- "download_speed": -1,
- "upload_speed": -1,
- "station_count": 0,
- "station_list": [ ],
- "auth_enable": 1
}
],
- -
"ssids_5g": [
- -
{
- "ssid": "zk_5g",
- "vlanEnable": 0,
- "vlanId": 0,
- "bssid": "24:05:0f:e0:1f:36",
- "auth_mode": 0,
- "encryption_type": 0,
- "password": "",
- "coding_type": 0,
- "hide_ssid": 0,
- "max_users": -1,
- "download_speed": -1,
- "upload_speed": -1,
- "station_count": 0,
- "station_list": [ ],
- "auth_enable": 1
}
],
- -
"qos": {
- "enable": 0,
- "upload_bw": 128,
- "download_bw": 51200
},
- -
"sta_scan": {
- "enable": 0,
- "building_id": "ZK-PROBE-001002",
- "interval": 5,
- "server_ip": "120.76.116.73",
- "server_port": 8100
},
- -
"mac_white_black": {
- "mac_black_list_md5": "0",
- "mac_white_list_md5": "0"
}
}
if useEnable == "1" and useReg == "1" and wacSn ~= devSn then 自动注册判断
DBHelper.count("nas_device", {["device_sn = "] = deviceSN}) 数据库查询 找到了就是已经添加的数据
DBHelper.insert("nas_device", saveData) 插入到数据库
local apPara = acMaintService.statusToConfig(apStatusRequest); 参数是个对象, 得到的是ap的配置详细对象
local acStatus = AcStatus:new(); 创建一个ac的状态
[
第一:dao层操作单表,不涉及复杂逻辑,主要是表的增删改查操作,完全根据domain的要求来查询数据。 // 数据接口, 就是通过这儿能拿到数据
第二:domain层考虑业务逻辑,例如过滤条件,放行或者返回,以及数据的处理,为调用dao层做好准备,一个domain可以调用一个或者一组相关的dao层 // 这里定义对象,
第三:service层调用一个或者一组domain层,主要是展现需要开放出去的接口,其中domain层不是所有的接口都要再service层体现的,可能仅在service层开放几个接口出去,此外,主要接口需要对接受的参数要尽量的扩大化,也就是说可以容纳各种类型的参数的接入(Object),然后需要在service层做好转换,以备domain层使用。 // 这里处理逻辑
正确的设计应该是,一个领域活动会聚合对应一个或一组DAO ,来完成一个领域活动。而一个服务可能包含两个领域活动,比如一个转账的业务,对应两个领域活动。两个帐户的金额分别发生变化,需要操作一组领域活动,而每个活动需要操作很多表(调用多个DAO )
]有点像计算机分层原理 , 每层进行数据的交互,逻辑上就比较清晰
{"reboot":0,"update_firmware":0,"firmware_path":"","status_error":"OK","update_config":0}
首先把这个参数设置为 0 --- > apStatusResponse:setUpdate_config(0);
到一个文件后把这个代码折叠起来,方便阅读
通过sn查询设备的配置 ,从数据库中去除数据 local row = DBHelper.selectOne("ac_config", "*", _where)
查询结果返回的是个对象 return AcConfig:new(row) 这种方法可以
1 M.applyTempletPara(templetId)
通过模板id,从数据库中查找
ac与ap同步分析的更多相关文章
- 实验报告8 AC+Fit AP组网通过三层网络注册(DHCP Option 43)
实验报告8 课程名称 无线网络与安全技术 实验名称 AC+Fit AP组网通过三层网络注册(DHCP Option 43) 姓名 学号 班级 实 验 目 的 [实验目的] 了解AC+Fit AP跨 ...
- Gstreamer的一些基本概念与A/V同步分析
一.媒体流(streams )流线程中包含事件和缓存如下:-events -NEW_SEGMENT (NS) -EOS (EOS) * - ...
- ffplay的音视频同步分析
以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有研究到更深入一层,比如说音视频同步是怎么回事.只好自己抽点时间出来分析开源代码了,做音视频编解码的人都知道ffmpeg,他在各 ...
- (转)ffplay的音视频同步分析之视频同步到音频
以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有研究到更深入一层,比如说音视频同步是怎么回事.只好自己抽点时间出来分析开源代码了,做音视频编解码的人都知道ffmp ...
- AC与AP的安装使用(未经实战,仅供参考,未完待续)
AC:无线控制器(Wireless Access Point Controller) AP:无线访问接入点(WirelessAccessPoint) 以信锐AC为例 AC设备的管理口为MANAGE(E ...
- Redis主从同步分析(转)
一.Redis主从同步原理 1.1 Redis主从同步的过程 配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接 ...
- Redis主从同步分析
一.Redis主从同步原理1.1 Redis主从同步的过程配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接断开 ...
- 华为eNSP环境,WLAN简介与组网,AP+AC详细配置
WLAN简单组网一.概述 无线局域网(Wireless Local Area Networks: WLAN)利用无线技术在空中传输数据.话音和视频信号.作为传统布线网络的一种替代方案或延伸,无线 ...
- 华为模拟器 AP AC配置
组网示意图: 前提条件:1)所有设备工作正常2)依据上述组网建立测试环境 1)正确配置AC使AP发放SSID:'SSID-Temp1'.'SSID-Temp2'和'SSID-Temp3',且对应业务v ...
随机推荐
- log4j.properties的详细配置
log4j.properties的详细配置 log4j.properties的maven配置 <dependency> <groupId>org.scala-lang</ ...
- ArcGis基础——Excel表格插入ArcMap布局视图,记录显示不全的替代解决方法
前几天帮朋友处理了这样一个问题 Excel有200余行记录,插入到ArcMap布局视图,只能显示100行左右. 解决思路 ArcMap要素类的属性表可以插入到布局视图,可否把Excel挂接到要素类的属 ...
- css垂直居中设置
转载自大佬的文章:纯css实现垂直居中的几种方法(https://www.cnblogs.com/hutuzhu/p/4450850.html) 总结得很棒,有好几种方法自己没用过的,拷贝过来给自己看 ...
- Es6中let与const的区别:(神奇的块级作用域)
所谓的块级作用域:形成一个暂时性的死区:{ } 一.共同点: a:都是用来声明变量: b:都能形成一个块级作用域: c:都只能在声明变量的块级作用域里面有效: 二.不同点: 1.let: a:在 ...
- mysql数据库 --数据类型、约束条件
今日内容 表的详细使用 1.创建表的完成语法 2.字段类型 整型.浮点型.字符类型.日期类型.枚举与集合类型 3.约束条件 primary key.unique.not null.default 一. ...
- 基本TCP Sockets编程
一.socket 函数 #include <sys/socket.h> int socket (int family, int type, int protocol); Returns: ...
- python 进程与线程 精要
程序与进程 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程. 程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次 ...
- idea 在新建一个class的时候可以选择继承的父类
1.把光标放在父类名称上按alt+enter可以生成子类 2. 选中implement abstract class
- Linux系统升级
查看centos版本的命令:uname -r 升级版本:yum -y upgrade 重启:reboot
- Python语法学习记录之tuple该如何使用?
一.介绍 dict 的用法比较简单,它可以存储任意值,并允许是不同类型的值,下面实例来说明: 下面例子中 a 是整数, b 是字符串, c 是数组,这个例子充分说明哈希数组的适用性. 每一个元素是pa ...