send method
执行完整的待机图片发送流程。
Implementation
Future<void> send() async {
// 1. 发送开始包
final startReply = await _sendStartPacket();
_validateReply(startReply, _hdrStart, 'start');
// 2. 分包发送数据
final totalFragments =
(_imageData.length + _fragmentSize - 1) ~/ _fragmentSize;
for (var seq = 0; seq < totalFragments; seq++) {
final offset = seq * _fragmentSize;
final len = (offset + _fragmentSize <= _imageData.length)
? _fragmentSize
: _imageData.length - offset;
final fragment = Uint8List.sublistView(_imageData, offset, offset + len);
final dataReply = await _sendDataPacket(seq, fragment);
_validateReply(dataReply, _hdrData, 'data seq=$seq');
}
// 3. 发送结束包(正常结束)
final endReply = await _sendEndPacket(true);
_validateReply(endReply, _hdrEnd, 'end');
}