From 8378e4331e687aa2d26d815c9dec4b005e8ddfc6 Mon Sep 17 00:00:00 2001 From: Jin857 Date: Mon, 6 Jan 2025 10:51:15 +0800 Subject: [PATCH] =?UTF-8?q?=20=E4=BC=98=E5=8C=96=20=E6=96=AD=E7=BA=BF=20?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/manager/connect_manager_web.dart | 10 ++++++---- lib/manager/my_wk_socket.dart | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/manager/connect_manager_web.dart b/lib/manager/connect_manager_web.dart index fdb815b..4437462 100644 --- a/lib/manager/connect_manager_web.dart +++ b/lib/manager/connect_manager_web.dart @@ -30,16 +30,18 @@ class WKWebConnectionManager { static final WKWebConnectionManager _instance = WKWebConnectionManager._privateConstructor(); static WKWebConnectionManager get shared => _instance; + bool _isLogout = false; bool isReconnection = false; final int reconnMilliseconds = 1500; Timer? heartTimer; Timer? checkNetworkTimer; - final heartIntervalSecond = const Duration(seconds: 60); + final heartIntervalSecond = const Duration(seconds: 30); final checkNetworkSecond = const Duration(seconds: 1); final LinkedHashMap _sendingMsgMap = LinkedHashMap(); HashMap? _connectionListenerMap; MyWkSocketBase? _socket; + addOnConnectionStatus(String key, Function(int, int?, ConnectionInfo?) back) { _connectionListenerMap ??= HashMap(); _connectionListenerMap![key] = back; @@ -93,6 +95,9 @@ class WKWebConnectionManager { WKIM.shared.options.uid = ''; WKIM.shared.options.token = ''; WKIM.shared.messageManager.updateSendingMsgFail(); + + /// 需要清理掉 _sendingMsgMap + _sendingMsgMap.clear(); WKDBHelper.shared.close(); } _closeAll(); @@ -236,9 +241,6 @@ class WKWebConnectionManager { setConnectionStatus(WKConnectStatus.success, reasoncode: connackPacket.reasonCode, info: ConnectionInfo(connackPacket.nodeId)); - // Future.delayed(Duration(seconds: 1), () { - - // }); try { WKIM.shared.conversationManager.setSyncConversation(() { setConnectionStatus(WKConnectStatus.syncCompleted); diff --git a/lib/manager/my_wk_socket.dart b/lib/manager/my_wk_socket.dart index 0e90a94..4bf73da 100644 --- a/lib/manager/my_wk_socket.dart +++ b/lib/manager/my_wk_socket.dart @@ -53,6 +53,7 @@ class MyWKSocket implements MyWkSocketBase { try { if (_socket != null) { _socket?.add(data); // 使用安全调用操作符 + return _socket?.flush(); } } catch (e) { Logs.debug('发送消息错误$e');