sendData method

void sendData(
  1. String msg,
  2. DataFormatVersions version, {
  3. String? type = "request",
})

发送消息

Implementation

void sendData(String msg, DataFormatVersions version, {String? type = "request"}) {
  if (socket == null) {
    return;
  }

  late List<int> bytes;
  late String sendDataString;
  switch (version) {
    case DataFormatVersions.version_2:
      final map = <String, dynamic>{"type": type, "jsonString": msg};
      sendDataString = jsonEncode(map);
      bytes = utf8.encode(sendDataString);
      break;
    default:
      sendDataString = msg;
      bytes = utf8.encode(msg);
      break;
  }

  var strLen = bytes.length;
  var l = int32BigEndianBytes(strLen);
  socket?.add(l..buffer.asByteData());
  socket?.write(sendDataString);
}