wemersonrv

Socket

Jul 11th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.46 KB | None | 0 0
  1. import 'dart:io';
  2.  
  3. import 'package:bloc_pattern/bloc_pattern.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:mobile/blocs/settings-bloc.dart';
  6. import 'package:mobile/screens/home_screen.dart';
  7.  
  8. class SocketWrapper extends StatefulWidget {
  9.   @override
  10.   _SocketWrapperState createState() => _SocketWrapperState();
  11. }
  12.  
  13. class _SocketWrapperState extends State<SocketWrapper> {
  14.   @override
  15.   Widget build(BuildContext context) {
  16.     final bloc = BlocProvider.of<SettingsBloc>(context);
  17.     return StreamBuilder<SettingsState>(
  18.       stream: bloc.outState,
  19.       builder: (context, snapshot) {
  20.         if (snapshot.data != SettingsState.DONE) {
  21.           return Center(
  22.             child: CircularProgressIndicator(),
  23.           );
  24.         }
  25.  
  26.         _socket();
  27.  
  28.         return HomeScreen();
  29.       },
  30.     );
  31.   }
  32.  
  33.   void _socket() {
  34.     Socket.connect('192.168.0.18', 1965, timeout: Duration(milliseconds: 2000)).then((Socket socket) {
  35.       print('Socket conectado...');
  36.  
  37.       // Escutar retorno do socket
  38.       socket.listen((data) {
  39.         print("Retorno do socket...");
  40.         print(data);
  41.         socket.close();
  42.       }).onError((e) {
  43.         print("Erro no retorno $e");
  44.         socket.destroy();
  45.       });
  46.  
  47.       // Enviar string de consulta
  48.       var str = ">?00030271";
  49.       socket.write("$str");
  50.       print("String de consulta enviada... $str");
  51.  
  52.     }).catchError((e) {
  53.       print("Falha ao conectar: $e");
  54.     });
  55.   }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment