level 1
sillllyboy
楼主
1. 服务端监听5556端口(UDP)
2. 客户端往服务端发送的数据格式如下:
struct MyMacInfo
{
char pFuncFlag[6]; //头标记,这个请求默认为"mac00"
char pMyMac[18]; //"AA:BB:CC:DD:EE:FF"
char pSerialNo[24]; //序列号,有效位数16位
char pBurnDate[12]; //"2015-08-19"
char pRandom[6]; //"00000" ~ "99999"
char crytoType; //加密类型,从'1'开始
};
3. 设备端往服务端回应的数据格式如下:
struct NewMacInfo
{
char needChange; // '1':修改 '0':不修改
char pNewMac[18]; //"AA:BB:CC:DD:EE:FF"
};
4. 有效的Mac地址号段:00:12:16:21:00:00 ~ 00:12:16:21:FF:FF
5. 功能说明,如果遇到两个序列号/Mac冲突的设备,返回后者一个新的Mac,有效的Mac地址号段相应的减少一个,不能再次出现冲突的情况。
(数据保存可以暂时不用数据库,直接缓存在内存里面,服务器程序重启后不需要记录上次运行结果,重新开始即可)
2018年08月09日 08点08分
1
2. 客户端往服务端发送的数据格式如下:
struct MyMacInfo
{
char pFuncFlag[6]; //头标记,这个请求默认为"mac00"
char pMyMac[18]; //"AA:BB:CC:DD:EE:FF"
char pSerialNo[24]; //序列号,有效位数16位
char pBurnDate[12]; //"2015-08-19"
char pRandom[6]; //"00000" ~ "99999"
char crytoType; //加密类型,从'1'开始
};
3. 设备端往服务端回应的数据格式如下:
struct NewMacInfo
{
char needChange; // '1':修改 '0':不修改
char pNewMac[18]; //"AA:BB:CC:DD:EE:FF"
};
4. 有效的Mac地址号段:00:12:16:21:00:00 ~ 00:12:16:21:FF:FF
5. 功能说明,如果遇到两个序列号/Mac冲突的设备,返回后者一个新的Mac,有效的Mac地址号段相应的减少一个,不能再次出现冲突的情况。
(数据保存可以暂时不用数据库,直接缓存在内存里面,服务器程序重启后不需要记录上次运行结果,重新开始即可)