设为首页 加入收藏

TOP

终端参数上报后,平台通过tcp协议接收到相应数据并处理。(二)
2019-09-03 01:24:16 】 浏览:38
Tags:终端 参数 上报 平台 通过 tcp 协议 收到 相应 数据 处理
l.getEncoding());
51 }

4.平台处理接收到的终端参数,并更新入库,响应结果。

public JSONObject uploadParam(JSONObject json) throws Exception {
        String identity = json.getString("identity");// ”:”设备序列号”, 
        int id = dataDao.getDeviceId(identity);
        if (id == -1) {
            log.error("该设备,identity={},不存在!", identity);
            return JsonUtils.getErrorJson(ErrorCode.ERR_NORECORD);
        }
        
        String modelno = json.getString("modelno");//":"KCC(1A)", //设备型号
        String devtype = json.getString("devtype");//":"1011", //设备类型
        String hardver = json.getString("hardver");//":"硬件版本",
        String softver = json.getString("softver");//":"软件版本",
        String serverip = json.getString("serverip");//":"平台ip",
        String serverport = json.getString("serverport");//":"平台端口号",
        String sql = "update info_terminal set devModel=?,devicetypeid=?,hardver=?"
                + ",softver=?,platform_ip=?,platform_port=? where id=?";
        JSONObject res;
        try {
            jt.update(sql, modelno,devtype,hardver,softver,serverip,serverport,id);
            res = JsonUtils.getErrorJson(ErrorCode.ERR_SUCCESS);
        } catch (DataAccessException e) {
            log.error("更新参数失败,sql={},json={},exception={}", sql, json.toJSONString(), e);
            res = JsonUtils.getErrorJson(ErrorCode.ERR_SAVE);
        }        
        return res;
    }

5.回应终端数据处理

 1 public short head;//协议头
 2     public int cmd;//协议类型
 3     public int sessID;//会话id
 4     public short pkgID;//包号
 5     public short pkgCount;//总包数
 6     public short keyID;//密钥id
 7     public short datalen;//单包数据长途
 8     public int totalLen;//数据总长度
 9     public byte[] data;//数据
10     private ChannelHandlerContext ctx;
11     public String jsontext;//json字符串
12     private String encoding;
13 
14 public ProtData(int cmd, int sessID, String jsontext, String encoding){
15         this.encoding = encoding;
16         this.head = 0x2324;
17         this.cmd = cmd;
18 
19         this.sessID = sessID;
20         pkgCount = 1;
21         pkgID = 0;
22         keyID = (short) DeskeyConfig.getKeyId();
23         datalen = 0;
24         data = new byte[datalen];
25         DecryptionMode jm = DecryptionMode3DesImp.getDecryptionMode();
26         data = jm.getDecryption(data, sessID, keyID);
27         this.jsontext = jsontext;
28     }

 6.附上协议。

json格式如下:
{
"identity":"设备序列号", 
"modelno":"kcc(1a)", //设备型号
"devtype":1011, //设备类型
"hardver":"硬件版本",
"softver":"软件版本",
"serverip":"平台ip",
"serverport":平台端口号
}
应答:
字段名    长度    备注
json    n    json格式的数据
        
json格式如下:
{
    "errcode":错误码
}

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Arrays工具类常用方法演示 下一篇springboot整合axis1.4搭建服务端

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目