send method

Future<void> send()

执行完整的待机图片发送流程。

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');
}