门禁消息可以和自定义服务器对接吗,门禁通讯协议_门禁对接开发_大兀门禁系统问题答疑...

问:通讯协议有哪些版本?

答:主要是两个版本:http定时获取通讯协议和P2P通讯协议,前者不需要搭建TCP server;后者需要搭建,但是可以实现穿透NAT控制设备。可以根据实际开发需要选择,对于后者,java下P2P通讯协议已对接好,只需要调用函数即可,不需要关注通讯协议细节,也不需要重复开发TCP server。

问:云控器本地鉴权和集中鉴权有何区别?

答:本地鉴权人员进出判断在云控器本地,人员名单事先下发,上传进出记录含断网期间进出结果;集中鉴权人员进出判断在服务器,服务器可采用即收即回http短连接响应开门。两种方式都接受服务器主动发起穿透开门,并上传云开门结果。

问:采用定时获取协议,因为服务器封包不定长导致只能一次发下十几个,如何解决批量下发?

答:有两个方法,一是返回都加上content-length,不要用Transfer-Encoding: chunked,如Java上增加response.setContentLength(jsonObject.toString().length())。二是换P2P通讯,实时即传即解。

问:感觉只下发了100个就停住了?

答:很可能服务器这100个名单在循环下发,控制板对错误的下发解析有cmd回包,如可以用Wireshark Legacy之类的工具抓包比较,发现有ERROR回包,服务器对指令子要进行检查,说明该条字符串文件有误或封包有误。

问:控制板是如何对服务器下发的包进行解析的?

答:板子上直接是c,拿到的是二进制直接转的值,是手工解析,没有公库。

问:服务器下发易忽略问题有哪些?

答:定时获取版本,控制板对每个下发到的指令子均有cmd回包,如没有OK或者ERROR,服务器要注意缺数补发,如发生循环,要注意响应头有否定长,每次下发名单是否过长(需每包<100个)等等问题。

问:多时段定次应用如何开发,比如A组某时段可进,B组某时段不可进,周一可进不可出,周五可出不可进等?

答:两类控制板通讯协议均有http响应开门机制,可直接云端响应开门,开发多时段定次应用可采用服务器判断,然后响应开门。控制板底层有简单的时段控制判断(如某日期内允许进入时间段、允许离开时间段),但不建议由底层处理更多这类逻辑,避免增加主要进程判断的负荷及耦合机会。

问:如果我们下发一条已经存在的人员信息记录,你们那边是怎么处理的?

答:除工号以外的全部update。工号是唯一主键。

问:P2P协议对接,控制板能不能做到每次上报心跳的时候,不要断开连接?

答:有2个机制,一个是服务器循环连新连接、断旧连接,云控板主动断掉的间隔时间约1毫秒,服务器要建重发机制,确保可靠性。另一个是服务器主动发送维持指令,双方保持之前的连接。在出现发送异常或者多少时间没有收到云控板的心跳的时候,服务器将连接断开,控制板重连传新连接。

问:http协议对接,为什么post取不到数据 ?

答:注意http协议中Content-Type:multipart/form-data 和json。

问:响应开门,如何消除断网续传上来的数据,该数据如何不与现场实际刷卡数据混淆 ?

答:云控板会等待2秒,收到断网续传数据要即时回{"result":"OK"},不然会一直传直到收到服务器回包;防止混淆主要是注意根据心跳数据判断云控板是否离线,离线期间的数据即为断网续传的数据,心跳同时具有对时的作用。

问:P2P协议对接,下发"cmd_code":"DW_OPENCLOSE",继电器一直响,并收到云控板大量回包。但是只下发了一次指令?

答:P2P协议下回包是对每一条指令的回包,有多个回包说明收到多条指令。抓包分析服务器的出口,程序上只有一次,但是实际出口很多次指令。

问:密码如何处理?

答:事先MD5下发,选择本地鉴权比对后将结果上传到服务器,标记卡加密码、卡或密码等,密码相同情况下,关联匹配最后下发的人员卡号上传。

问:刷卡的时候,虽然选择了本地鉴权但可能本地没有这个卡,能否去服务器判断是不是授权的人员?

答:可以,服务器对传来的reject00回access即可开门,P2P协议的用户,也可判断后直接穿透开门。注意不要跟断网续传消息混淆,区别在于时间不一样。

问:串口上传和下发字符限制是多少?

答:串口上传限制96byte,下发512byte,可根据情况定制增减。

问:为何集中鉴权的上传的进出参数为"wu”,而本地鉴权上传为"in"或"out”?

答:这个参数对集中鉴权无效,用于本地鉴权判断进出;如集中鉴权需要判断进出,自行定义关联的进出门号即可。

问:云控板上传的reject和reject00分别在什么场景会出现?

答:reject指本地有断网续传记录的上传;reject00代表本地无名单或未授权等待服务器判断。

问:云控板不断的上传同一个时间的记录,是什么原因?

答:断网续传,服务器对这条记录回{"result":"OK"},消除底层的标记即可。

问:云控板用贵司php的demo开发,为什么post未收到数据?

答:严格按文档设置,5.6.27php版本。

问:云控板能实现串口透传?

答:可以,接受传入字符串仅部分转发传出:{"L":"29","C":"F001060403FE"},即只转发json串里面C的值:F001060403FE。注意:二进制值可以用16进制表示,如果不用,可能这时的值是不可读的乱码。此时,L:字符串长度,数字是整串长度byte值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值