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同步分析的更多相关文章

  1. 实验报告8 AC+Fit AP组网通过三层网络注册(DHCP Option 43)

    实验报告8 课程名称 无线网络与安全技术 实验名称 AC+Fit AP组网通过三层网络注册(DHCP Option 43) 姓名 学号 班级 实 验 目 的   [实验目的] 了解AC+Fit AP跨 ...

  2. Gstreamer的一些基本概念与A/V同步分析

    一.媒体流(streams )流线程中包含事件和缓存如下:-events     -NEW_SEGMENT    (NS)     -EOS                (EOS)  *     - ...

  3. ffplay的音视频同步分析

    以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有研究到更深入一层,比如说音视频同步是怎么回事.只好自己抽点时间出来分析开源代码了,做音视频编解码的人都知道ffmpeg,他在各 ...

  4. (转)ffplay的音视频同步分析之视频同步到音频

          以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有研究到更深入一层,比如说音视频同步是怎么回事.只好自己抽点时间出来分析开源代码了,做音视频编解码的人都知道ffmp ...

  5. AC与AP的安装使用(未经实战,仅供参考,未完待续)

    AC:无线控制器(Wireless Access Point Controller) AP:无线访问接入点(WirelessAccessPoint) 以信锐AC为例 AC设备的管理口为MANAGE(E ...

  6. Redis主从同步分析(转)

    一.Redis主从同步原理 1.1 Redis主从同步的过程 配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接 ...

  7. Redis主从同步分析

    一.Redis主从同步原理1.1 Redis主从同步的过程配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接断开 ...

  8. 华为eNSP环境,WLAN简介与组网,AP+AC详细配置

    WLAN简单组网一.概述    无线局域网(Wireless Local Area Networks: WLAN)利用无线技术在空中传输数据.话音和视频信号.作为传统布线网络的一种替代方案或延伸,无线 ...

  9. 华为模拟器 AP AC配置

    组网示意图: 前提条件:1)所有设备工作正常2)依据上述组网建立测试环境 1)正确配置AC使AP发放SSID:'SSID-Temp1'.'SSID-Temp2'和'SSID-Temp3',且对应业务v ...

随机推荐

  1. [已解决]报错Could not install packages due to an EnvironmentError

    安装OpenCV过程中出现错误 代码: pip-conda install -i https://pypi.douban.com/simple/ opencv-python 报错内容如下: Could ...

  2. Keil5-建立第一个STM32工程

    此致:特别感谢作者Lomo-chen所写的文章给我的帮助,我尝试做了一下,成功了,今天整理一下. 一.建立文件夹: 1.在桌面或其他盘建立一个文件夹,此处名称为Test,用来存放工程程序. 2.在Te ...

  3. 10_PAE_非PAE

    前置知识: 在 windows 中 保护模式 有两种模式: 段保护 和 页保护 段保护 主要体现在 段选择子上:但是数据段.代码段.栈段等采用的都是4GB平坦模式,段的特征并没有那样展现.所以具体的保 ...

  4. Java设计模式思想(单列模式,工厂模式,策略模式)

    a) 单例模式:单例模式核心只需要new一个实例对象的模式,比如数据库连接,在线人数等,一些网站上看到的在线人数统计就是通过单例模式实现的,把一个计时器存放在数据库或者内存中,当有人登陆的时候取出来加 ...

  5. DataTable转对象Model

    我们经常需要从数据库表中取数,取数是以取DataTable的方式,但是我么希望以对象为单位进行这种操作.即存在把取到的DataTable(数据表)转换为ModelList(对象集合)的需求. 原理稍微 ...

  6. 脚本启动SpringBoot(jar)

    #!/bin/sh RESOURCE_NAME=springbsit-api.jar tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kil ...

  7. thinkphp 储存驱动

    存储驱动完成了不同环境下面的文件存取操作,也是ThinkPHP支持分布式和云平台的基础. 默认的存储驱命名空间位于Think\Storage\Driver,每个存储驱动必须继承Think\Storag ...

  8. 25 面向对象设计实例——基于PCL点云库的通用工具开发

    0 引言 问题背景:pcl中提供了大量工具,用于对点云和三角面片文件进行处理和显示.在研究中,存在很多简易的需求,比如点云坐标转换,点云的打开显示以及同步显示,点云的最小包络求解,点云的格式转换等等. ...

  9. BZOJ 3779: 重组病毒(线段树+lct+树剖)

    题面 escription 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策划了一次实验,来研究这种病 ...

  10. docker快速安装elasticsearch

    一.选择版本,拉取镜像 docker pull elasticsearch:5.6.9 #不选择版本就是最新的 二.运行设置容器 # -d 表示在后台运行 docker run -d -p 9200: ...