健康一体机

联系我们

地址:山东济宁市经济开发区

网址:www.sdpuruisen.com

    健康一体机的TCP协议服务器端

    【具体实施方式】

    -种健康一体机通信服务器的实现方法,基于netty的TCP和UDP协议服务器端, TCP和UDP协议服务端分别指定不同的端口号;健康一体机为客户端,根据IP地址和Port 端口号分别连接TCP和UDP协议服务端;

    TCP主要程序结构,如下:

    实现过程为:

    TCP协议服务器端接收客户端发送的MD5校验码,用于身份识别;MD5若校验不通 过,则断开连接,重新连接校验,若校验通过,则TCP协议服务器端发送校验通过信息;又身 份识别的具体过程可为:健康一体机连接TCP协议服务器后,发送mid MD5校验码,mid是 客户端唯一编号,服务器通过mid从后台查找对应的version,即版本号和uid,即唯一用户 编号,并获取当天的日期,然后以mid+version+uid+date为seed生成MD5值并与健康体检 机发送的MD5校验码进行比对,如果对比失败则回复MD5验证错误的信息,服务器主动断开 健康一体机的TCP连接;如果比对成功则回复OK信号;其中OK信号可带有一个时间戳,表 示健康一体机必须在此时间戳内发送体检数据或日志文件到TCP协议服务器端,否则重新 发送校验请求;



    客户端接收到TCP协议服务器端发送的校验通过信息后,发送业务数据,业务数 据以字节的形式传输;业务数据一般包括数据长度、文件类型(H/L)、文件数据,文件类型 中H代表体检数据、L代表日志文件;

    TCP协议服务器端接收到业务数据后,进行数据解析,并放入数据库中,返回给客 户端接收到数据的信息;进行数据解析时,判断文件类型,并根据不同的数据类型把业务数 据放入到不同的数据库中,健康一体机发送的文件数据中带有时间戳,表示文件数据产生 的时间,TCP协议服务器端根据时间戳判断是否重复接收了体检数据,如果确定重复接收的 数据则放弃该数据;如果不是,则解析新接收的数据并入库,完成业务数据解析入库后,返 回OK信号给健康一体机

    UDP协议服务器端根据客户端发送的数据的长度不同判断是报警信号还是验证用 户信号;

    如果是报警信号则接收报警并返回给客户端已经接收到报警的信息;其中健康 体检机发送 alarm[l byte]mid[4 bytes] timestamp [4 bytes],服务端回复 alarm_ack[l byte]mid[4 bytes]timestamp_copy[复制接收到的信号时间戳];

    客户端发送的报警信号为alarm_actiVe,UDP协议服务器端返回给客户端已经接 收到报警的信息为alarm_active_ack ;

    健康一体机启动报警 alarm_active :0000 0001 ;服务器回复 alarm_active_ack : 0001 0001 ;

    健康一体机取消报警 alarm_cancel :0000 0000 ;服务器回复 alarm_cancel_ack : 0001 0000 ;



    alarm状态字节的前四位0000表示是健康一体机请求的指令,0001表示UDP协议 服务器端回复的指令;后四位〇〇〇〇表示报警取消,0001表示启动报警。

    如果是验证用户信号则解析信号数据,根据信号数据查询数据库并把查询到的数 据返回给客户端,过程为:UDP应用层协议可实现验证用户ID和发送用户年龄和性别,用 户利用客户端输入auto_id,健康一体机发送给UDP协议服务器端验证请求uid[2 bytes] mid[4 bytes]MD5(mid+version+uid+date) [4 bytes],与 TCP 协议服务器端相仿,UDP 协 议服务器端先校验MD5,验证通过后uid来查询后台并返回uid[2 bytes]mid[4 bytes] name [8byte] gender [I byte] birthday [4 byte]信息给健康一体机,表示此用户存在,可以 进行体检;否则返回用户不存在信息,拒绝体检请求完成验证。



版权所有
电话: 传真: 邮箱:2397811530@qq.com
地址:山东济宁市经济开发区
《中华人民共和国电信与信息服务业务经营许可证》鲁备案101951518号