Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.7 kB
1
Indexable
Never
import 'package:socket_io_client/socket_io_client.dart' as IO;

//add socket_io_client: ^1.0.1 to dependencies

//stateful içine tanımla
IO.Socket socket = IO.io('http://192.168.1.34:9885', <String, dynamic>{
    'transports': ['websocket'],
  });



//initstate e koy
void initSocket() {
    // socket.emit('connect_on', 'Flutter Socket.IO, Success');
    socket.onConnect((data) {
      print(data);
      socket.emit("RegisterDriverMobileApp", "aaaaa");
    });

    socket.on('TaxiQueueConfirm', (data) {
      setState(() {
        print(data["TaxiNumber"]);
        showDialog<String>(
          context: context,
          builder: (BuildContext context) => AlertDialog(
            title: const Text('Taksi Sırası'),
            content: const Text(
                'Taksi durağına girdiniz. Sıraya girmek ister misiniz ? Eğer 30 saniye içinde cevaplamazsanız\n aracınız sıradan çıkartılacaktır!'),
            actions: <Widget>[
              TextButton(
                onPressed: () {
                  socket.emit("TaxiQueueConfirmed", false);
                  Navigator.pop(context, 'Reddet');
                },
                child: const Text('Reddet'),
              ),
              TextButton(
                onPressed: () {
                  socket.emit("TaxiQueueConfirmed", true);
                  Navigator.pop(context, 'Kabul Et');
                },
                child: const Text('Kabul Et'),
              ),
            ],
          ),
        );
      });
    });
    socket.on("TaxiQueueConfirmTimeout", (data) {
      var snackBar = SnackBar(content: Text(data["Message"]));
      Navigator.pop(context, 'timeout');
      ScaffoldMessenger.of(context).showSnackBar(snackBar);
    });
  }