Flutter Socket连接废话不多? 直接上代码:

时间:2019-08-23
本文章向大家介绍Flutter Socket连接废话不多? 直接上代码:,主要包括Flutter Socket连接废话不多? 直接上代码:使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

记得把host.port.和发送的参数换成你自己的

import 'dart:io';
import 'dart:async';

class SocketManage {
static String host='xxx.xxx.xxx.xxx';
static int port=80;
static Socket mSocket;
static Stream<List<int>> mStream;

static initSocket() async{
await Socket.connect(host,port).then((Socket socket) {
mSocket = socket;
mStream=mSocket.asBroadcastStream(); //多次订阅的流 如果直接用socket.listen只能订阅一次
}).catchError((e) {
print('connectException:$e');
initSocket();
});
}

static void addParams(List<int> params){
mSocket.add(params);
}

static void dispos(){
mSocket.close();
}

}
使用:

1.初始化?

SocketManage.initSocket(); //这个在main.dart中调用一次就行了
2.在需要发送socket请求的dart文件中调用下面的进行监听和请求

List<int> a=[xx,yy,zz]; //请求参数
SocketManage.mStream.listen(onReceiver);
SocketManage.addParams(a);
3.重写onReceiver方法接收返回值

//接收返回值 (http://www.amjmh.com/v/BIBRGZ_558768/)
void onReceiver(List<int> event) {
MyConstant.packageNum++;
debugPrint('useragreement listen :$event');
}
如果有遇到一个页面多次请求? ?自己添加一个tag字段去判断就好了。

原文地址:https://www.cnblogs.com/liyanyan665/p/11402907.html