omp_client 1.1.0 copy "omp_client: ^1.1.0" to clipboard
omp_client: ^1.1.0 copied to clipboard

A starting point for Dart libraries or applications.

example/omp_client.dart

/*
import 'dart:async';
import 'dart:collection';
import 'dart:convert';
import 'dart:io';
import 'package:omp_client/src/io/buffer_output_stream.dart';
import 'package:omp_client/src/io/input_stream.dart';
import 'package:omp_client/src/io/output_stream.dart';
import 'package:omp_client/src/net/transceiver.dart';
import 'package:omp_client/src/sys/Command.dart';
import 'package:omp_client/src/sys/SysInfo.dart';

Transceiver transceiver;

void main() {
  Socket.connect(SysInfo.SERVER_HOST, SysInfo.SERVER_PORT)
      .then((socket) => startClient(socket));
}

void listenData(Socket socket) async {
  //print('Listening data...');

  // sirve para ver los mensajes que estoy enviando
  //socket.asBroadcastStream()

  String data;
  socket.listen((data) {
    //print("DataBytes: ${data}");
    var cmd = transceiver.inputStream.readCommand(data);
    print(cmd.toString());
  });
}

Stream<int> getDataStream(List<int> dataList) async* {
  print('Reading list...');
  for (var i in dataList) {
    yield i;
  }
}

Stream<int> dataStream(Queue<int> param) {
  StreamController<int> controller;
  var dataBuff = param;
  var data;
  var paused = false;

  void tick(_) {
    print("Tick");
    if (dataBuff.isEmpty) {
      controller.close(); // Ask stream to shut down and tell listeners.
    }
    else {
      controller.add(data);
    }
  }

  void readData() {
    print('ReadData');
    print('ReadData -> DataBuff -> ${dataBuff.toString()}');
    if (!paused) {
      int value;
      while (dataBuff.isNotEmpty) {
        value = dataBuff.removeFirst();
        controller.add(value);
        print('ReadData -> dataBuff.isNotEmpty -> Data: ${value}');
      }
    }
  }

  controller = StreamController<int>(
      onListen: readData,
      onPause: () {
        print('OnPause');
        paused = true;
      },
      onResume: () {
        print('OnResume');
        paused = false;
      },
      onCancel: () {
        print('CANCEL!');
      }
      );

  return controller.stream;
}

Stream<int> fromIterable(Iterable<int> iterable) async*{
  for (var i in iterable) {
    yield i;
  }
}

void sendData(Socket socket) async {
  //print('Before sendBuffStream Listen: ${sendBuffer.toString()}');
  /*StreamController.broadcast(onListen: () {
        print('XD');
      }, sync: true).stream.listen((event) {
        print('YEAH!: ${event}');
      });*/

  stdin.transform(utf8.decoder).listen((line) async {
    if (line.trim().isNotEmpty) {
      transceiver.outputStream.writeCommandAsync(Command.fromString(line.trim()));
    }
  });
}

Future<void> startClient(Socket socket) async {
  transceiver = Transceiver(socket, OutputStream(socket), InputStream(socket));
  Future.microtask(() => listenData(socket));
  Future.microtask(() => sendData(socket));

  // cuando quiero leer datos y enviarlos sobre la misma
  //socket.addStream(stream)
}
*/
0
likes
50
pub points
0%
popularity

Publisher

unverified uploader

A starting point for Dart libraries or applications.

Repository (GitLab)
View/report issues

License

Apache-2.0 (LICENSE)

More

Packages that depend on omp_client