Advertisement
Guest User

Untitled

a guest
May 16th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.70 KB | None | 0 0
  1. import 'package:flutter/foundation.dart';
  2. import 'package:web_socket_channel/io.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:web_socket_channel/web_socket_channel.dart';
  5.  
  6. void main() => runApp(MyApp());
  7.  
  8. class MyApp extends StatelessWidget {
  9.   @override
  10.   Widget build(BuildContext context) {
  11.     final title = 'FIFA maniaci';
  12.     return MaterialApp(
  13.       title: title,
  14.       home: MyHomePage(
  15.         title: title,
  16.         channel: IOWebSocketChannel.connect('wss://fifamaniaci.app/socket.io/?EIO=3&transport=websocket'),
  17.       ),
  18.     );
  19.   }
  20. }
  21.  
  22. class MyHomePage extends StatefulWidget {
  23.   final String title;
  24.   final WebSocketChannel channel;
  25.  
  26.   MyHomePage({Key key, @required this.title, @required this.channel})
  27.       : super(key: key);
  28.  
  29.   @override
  30.   _MyHomePageState createState() => _MyHomePageState();
  31. }
  32.  
  33. class _MyHomePageState extends State<MyHomePage> {
  34.   @override
  35.   Widget build(BuildContext context) {
  36.     return Scaffold(
  37.       appBar: AppBar(
  38.         title: Text(widget.title),
  39.       ),
  40.       body: Padding(
  41.         padding: const EdgeInsets.all(20.0),
  42.         child: Column(
  43.           crossAxisAlignment: CrossAxisAlignment.start,
  44.           children: <Widget>[
  45.             StreamBuilder(
  46.               stream: widget.channel.stream,
  47.               builder: (context, snapshot) {
  48.                 return Padding(
  49.                   padding: const EdgeInsets.symmetric(vertical: 24.0),
  50.                   child: Text(snapshot.hasData ? '${snapshot.data}' : ''),
  51.                 );
  52.               },
  53.             )
  54.           ],
  55.         ),
  56.       ),
  57.     );
  58.   }
  59.  
  60.   @override
  61.   void dispose() {
  62.     widget.channel.sink.close();
  63.     super.dispose();
  64.   }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement