sendDataByModel method

Future<void> sendDataByModel(
  1. SocketSendModel model, [
  2. DataFormatVersions versions = DataFormatVersions.appleApp
])

Implementation

Future<void> sendDataByModel(SocketSendModel model,
    [DataFormatVersions versions = DataFormatVersions.appleApp]) async {
  late List<int> bytes;
  late String sendDataString;
  switch (versions) {
    case DataFormatVersions.ideaPlugin:
      {
        debugPrint(
            "SendDataByModel does not support data of type ideaPlugin");
        break;
      }
    case DataFormatVersions.appleApp:
      {
        final map = model.toJson();
        sendDataString = jsonEncode(map);
        bytes = utf8.encode(sendDataString);
        break;
      }
  }
  var strLen = bytes.length;
  var l = int32BigEndianBytes(strLen);
  socket?.add(l..buffer.asByteData());
  socket?.write(sendDataString);
  ddCheckPluginLog("send header length : ${bytes.length}");
  ddCheckPluginLog('send dada string :$sendDataString');
}