flutter_socket

Last updated:

0 purchases

flutter_socket Image
flutter_socket Images
Add to Cart

Description:

flutter socket

flutter_socket #
flutter连接websocket插件,基于安卓Java-WebSocket:1.4.0插件

开始使用 #
使用工具类
final util = FlutterWebSocketUtil();
copied to clipboard
1.连接 #
必填参数:url 服务端的socket连接地址
可选参数1:onClose 连接被断开回调
可选参数2:onMessage 收到消息回调
可选参数3:onOpen 连接成功回调,调用一次
可选参数4:onError 连接失败回调
连接后会启动一个后台服务(service),通知栏可能会显示一个正在运行的通知



util.connect(
url: _url,
onClose: (SocketConnectCloseModel detail) {
print('是否远程地址:${detail.remote}');
print('连接被断开code:${detail.code}');
print('连接被断开:${detail.message}');
},
onMessage: (String message) {
print('收到消息:$message');
},
onOpen: (String url) {
print('连接成功,地址是:$url');
},
onError: (String message) {
print('连接失败:$message');
});


copied to clipboard
2.断开连接 #
util.close();
copied to clipboard
3.开启心跳检测 #
30秒检测一次
util.openHeart();
copied to clipboard
4.检测是否连接 #
FlutterSocket.isOpen();
copied to clipboard
5.发送消息 #
util.send("hello world");
copied to clipboard
工具类 #
import 'package:erp_system/config/ip.dart';
import 'package:erp_system/utils/extend_util.dart';
import 'package:erp_system/utils/user_util.dart';
import 'package:flutter_socket/connect_close_model.dart';
import 'package:flutter_socket/flutter_socket_util.dart';

class WebSocketUtilsV3 {
WebSocketUtilsV3._();

static final WebSocketUtilsV3 _instance = WebSocketUtilsV3._();

factory WebSocketUtilsV3() => _instance;

final util = FlutterWebSocketUtil();

// 初始化socket连接
Future<void> init() async {
final user = await getCatchUser();
if (user != null) {
final _connectUrl = 'ws://$kHost:$kPort/websocket';
util.connect(url: _connectUrl, onOpen: onOpen, onClose: onClose, onMessage: onMessage, onError: onError);
}
}

// 连接打开
void onOpen(String url) {
log('连接成功啦;$url');
util.openHeart();
}

// 连接关闭
void onClose(SocketConnectCloseModel detail) {
log('连接被断开啦:${detail.code}');
}

// 收到消息
void onMessage(String message) {
log('收到消息啦:$message');
}

// 连接失败
void onError(String message) {
log('连接错误啦:$message');
}
}

copied to clipboard
运行示例 #

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.