omp_client 1.1.0 omp_client: ^1.1.0 copied to clipboard
A starting point for Dart libraries or applications.
/*
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)
}
*/