6.3、查询批处理文件内容
查询批处理文件内容;
请求:
SF | CTRL | DES | SRC | TID | CMD | OFFSET | NAME | CRC | EF |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 4字节 | 2~48字节 | 2字节 | 2字节 |
CMD:请求命令,0x0502;
OFFSET:分三种情况
1、 为0xFFFFFFFF时,为请求批处理文件总大小。
2、 为有效值,即大于等于0或小于批处理文件总大小的值时,为请求偏移值;
3、 等于批处理文件总大小时,为请求批处理文件CRC32校验值。
注意:CRC32值,为先计算文件总大小(4字节,先计算低字节,再计算高字节),再计算文件数据(从文件数据开始,一次计算到文件数据结束);最后再将所得校验值按位取反,即为此处所需CRC32值。
NAME:批处理文件名称,必须以0x00结束。
回应情况1:
对应请求时OFFSET=0xFFFFFFFF:
SF | CTRL | DES | SRC | TID | CMD | RES | 【OFFSET】 | 【FILESIZE】 |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 4字节 | 4字节 |
CRC | EF |
2字节 | 2字节 |
CMD:请求命令,0x8502;
RES:操作结果,0表示成功,其他表示错误,可查看附件1中错误代码。
OFFSET:固定值,0xFFFFFFFF,代表开始回应请求;仅在RES为0时存在;
FILESIZE:批处理文件总大小;仅在RES为0时存在;
回应情况2:
对应请求时OFFSET=有效值(即大于等于0,小于批处理文件大小):
SF | CTRL | DES | SRC | TID | CMD | RES | 【OFFSET】 | 【SIZE】 |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 4字节 | 4字节 |
【FILEDATA】 | CRC | EF |
1~1200字节 | 2字节 | 2字节 |
CMD:请求命令,0x8502;
RES:操作结果,0表示成功,其他表示错误,可查看附件1中错误代码。
OFFSET:批处理文件偏移,等于请求中的OFFSET值;仅在RES为0时存在;
SIZE:FILEDATA所占字节数;仅在RES为0时存在;
FILEDATA:批处理文件流。仅在RES为0时存在;
回应情况3:
对应请求时OFFSET=FILESIZE,回应批处理文件CRC32校验值。
SF | CTRL | DES | SRC | TID | CMD | RES | 【OFFSET】 | 【CRC32】 |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 4字节 | 4字节 |
CRC | EF |
2字节 | 2字节 |
CMD:请求命令,0x8502;
RES:操作结果,0表示成功,其他表示错误,可查看附件1中错误代码。
OFFSET:为批处理文件总大小;仅在RES为0时存在;
CRC32:批处理文件的CRC32校验值;仅在RES为0时存在;
注意:CRC32值,为先计算文件总大小(4字节,先计算低字节,再计算高字节),再计算文件数据(从文件数据开始,一次计算到文件数据结束);最后再将所得校验值按位取反,即为此处所需CRC32值。
例:
请求一:(OFFSET=0xFFFFFFFF,为请求获取批处理文件总大小,NAME=u_On为批处理文件名)
AA A5 11 00 FF FF 00 00 B0 A1 02 05 FF FF FF FF 75 5F 4F 6E 00 00 00 5A 55
回应命令:
AA A5 12 08 00 00 01 01 B0 A1 02 85 00 00 FF FF FF FF 33 00 00 00 57 E6 5A 55
请求二:(获取批处理问价内容,OFSSET值为想要获取文件内容的偏移值,SIZE为从偏移值处开始获取,所要获取的数据长度)
AA A5 11 00 FF FF 00 00 B0 A1 02 05 00 00 00 00 75 5F 4F 6E 00 00 00 5A 55
回应命令:(接收并处理完成)
AA A5 45 08 00 00 01 01 B0 A1 02 85 00 00 00 00 00 00 33 00 00 00 42 41 00 00 33 00 00 00 00 00 00 00 10 00 00 00 AA A5 03 00 7A 00 01 5A 55 AA A5 14 00 38 02 00 00 00 00 20 00 10 00 00 01 00 00 04 00 BD F0 BA AD 5A 55 91 D3 5A 55
请求三:(OFFSET刚好等于FILESIZE大小,为请求CRC32校验值)
AA A5 11 00 FF FF 00 00 B0 A1 02 05 33 00 00 00 75 5F 4F 6E 00 00 00 5A 55
回应命令:
AA A5 12 08 00 00 01 01 B0 A1 02 85 00 00 33 00 00 00 4B 5E A1 46 83 48 5A 55