Flutter学习日记之Websocket连接

Posted Android_小黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter学习日记之Websocket连接相关的知识,希望对你有一定的参考价值。

本文地址:https://blog.csdn.net/qq_40785165/article/details/120425160,转载需附上此链接

一寸光阴一寸金,寸金难买寸光阴!

大家好,我是小黑,一个还没秃头的程序员~~~

本期的内容为连接Weboscket,实现简单的双向通信

(一)依赖库

web_socket_channel: ^2.1.0

(二)导入组件

import 'package:web_socket_channel/io.dart';

(三)websocket连接

  static String url = "ws://ip:port/websocket/";
  static Future<IOWebSocketChannel?> connect() async {
    await SharePreferencesUtils.getUser().then(
        (value) => channel = IOWebSocketChannel.connect("$url${value.userId}"));
    return channel;
  }

(四)发送消息

  static send(String text) {
    channel?.sink.add(text);
  }

(五)监听消息回传

       channel!.stream.listen((message) {
      print("消息=====$message");
      setState(() {
        MessageBeanData message2 = new MessageBeanData();
        message2.messageContent = message;
        message2.messageFromClientId = "${argument["user_id"]}";
        _list.add(message2);
      });
    }, onError: (msg) {
      Fluttertoast.showToast(msg: "$msg");
    });

(六)断开连接

  static Future disconnect() async {
    await channel?.sink.close();
  }

到此为止,Flutter中Websocket的连接就介绍完毕了,更多关于Flutter的内容日后会持续更新,感兴趣的朋友可以点个关注,大家晚安!

以上是关于Flutter学习日记之Websocket连接的主要内容,如果未能解决你的问题,请参考以下文章

Flutter学习日记之Flutter与原生Android的互相调用

Flutter学习日记之集成极光推送

Flutter学习日记之集成极光推送

Flutter学习日记之集成极光推送

Flutter学习日记之初识ListView组件

Flutter学习日记之Image组件详解