0x36transferData
TransferData服务用于客户端将数据从客户端传输到服务器(下载)或从服务器传输到客户端(上传) 。
数据传输方向由前面的RequestDownload或RequestUpload服务定义。 如果客户端发起请求下载,则要下载的数据包含在TransferData请求消息中的参数transferRequestParameter中。 如果客户端发起请求上传,则要上传的数据包含在TransferData响应消息中的参数transferResponseParameter中。
TransferData服务请求包含一个blockSequenceCounter,以便在多个TransferData请求序列期间传输数据服务失败的情况下,改进错误处理。 当接收到RequestDownload(0x34)或RequestUpload(0x35)请求消息时,服务器的blockSequenceCounter应初始化为1。 这意味着RequestDownload(0x34)或RequestUpload(0x35)请求消息后面的第一个TransferData(0x36)请求消息以blockSequenceCounter开头。
请求格式:
参数说明
blockSequenceCounter:
占一个字节,类似数据包的索引,到0xFF时,重新从0开始。
作用 如果TransferData请求下载数据在服务器中正确接收和处理,但肯定响应消息未到达客户端,则客户端将确定应用层
超时并重复相同的请求(包括相同的blockSequenceCounter)。 服务器将收到重复的TransferData请求,并可以根
据包含的BlockSequenceCounter确定该TransferData请求重复。 服务器会立即发送肯定响应消息,而不会再次将数
据写入其内存。
如果在服务器中没有正确接收到下载数据的TransferData请求,则服务器不会发送肯定的响应消息。 客户端将确定
应用程序层超时并将重复相同的请求(包括相同的blockSequenceCounter)。 服务器将收到重复的TransferData请
求,并可以根据包含的BlockSequenceCounter确定这是一个新的TransferData。 服务器将处理服务并发送肯定响应
消息。
如果TransferData请求上传数据在服务器中正确接收并处理,但肯定响应消息未到达客户端,则客户端将确定应用层
超时并重复相同的请求(包括相同的blockSequenceCounter)。 服务器将收到重复的TransferData请求,并可以根
据包含的BlockSequenceCounter确定该TransferData请求重复。 服务器会立即发送肯定响应消息,并立即访问之前
提供的数据到其存储器中。
如果在服务器中未正确接收到传输数据上传请求,则服务器不会发送肯定的响应消息。 客户端将确定应用程序层超
时并将重复相同的请求(包括相同的blockSequenceCounter)。 服务器将收到重复的TransferData请求,并可以根
据包含的BlockSequenceCounter确定这是一个新的TransferData。 服务器将处理服务并发送肯定响应消息。
transferRequestParameterRecord :
要传输的数据
正向响应:
(0x40+0x36) index 自定义
transferResponseParameterRecord
该参数应包含客户端支持传输数据所需的参数。 该参数的格式和长度是车辆制造商特定的。
负向响应: