优化 断线 逻辑

This commit is contained in:
Jin857 2025-01-06 10:51:15 +08:00
parent a2b0576594
commit 8378e4331e
2 changed files with 7 additions and 4 deletions

View File

@ -30,16 +30,18 @@ class WKWebConnectionManager {
static final WKWebConnectionManager _instance = static final WKWebConnectionManager _instance =
WKWebConnectionManager._privateConstructor(); WKWebConnectionManager._privateConstructor();
static WKWebConnectionManager get shared => _instance; static WKWebConnectionManager get shared => _instance;
bool _isLogout = false; bool _isLogout = false;
bool isReconnection = false; bool isReconnection = false;
final int reconnMilliseconds = 1500; final int reconnMilliseconds = 1500;
Timer? heartTimer; Timer? heartTimer;
Timer? checkNetworkTimer; Timer? checkNetworkTimer;
final heartIntervalSecond = const Duration(seconds: 60); final heartIntervalSecond = const Duration(seconds: 30);
final checkNetworkSecond = const Duration(seconds: 1); final checkNetworkSecond = const Duration(seconds: 1);
final LinkedHashMap<int, SendingMsg> _sendingMsgMap = LinkedHashMap(); final LinkedHashMap<int, SendingMsg> _sendingMsgMap = LinkedHashMap();
HashMap<String, Function(int, int?, ConnectionInfo?)>? _connectionListenerMap; HashMap<String, Function(int, int?, ConnectionInfo?)>? _connectionListenerMap;
MyWkSocketBase? _socket; MyWkSocketBase? _socket;
addOnConnectionStatus(String key, Function(int, int?, ConnectionInfo?) back) { addOnConnectionStatus(String key, Function(int, int?, ConnectionInfo?) back) {
_connectionListenerMap ??= HashMap(); _connectionListenerMap ??= HashMap();
_connectionListenerMap![key] = back; _connectionListenerMap![key] = back;
@ -93,6 +95,9 @@ class WKWebConnectionManager {
WKIM.shared.options.uid = ''; WKIM.shared.options.uid = '';
WKIM.shared.options.token = ''; WKIM.shared.options.token = '';
WKIM.shared.messageManager.updateSendingMsgFail(); WKIM.shared.messageManager.updateSendingMsgFail();
/// _sendingMsgMap
_sendingMsgMap.clear();
WKDBHelper.shared.close(); WKDBHelper.shared.close();
} }
_closeAll(); _closeAll();
@ -236,9 +241,6 @@ class WKWebConnectionManager {
setConnectionStatus(WKConnectStatus.success, setConnectionStatus(WKConnectStatus.success,
reasoncode: connackPacket.reasonCode, reasoncode: connackPacket.reasonCode,
info: ConnectionInfo(connackPacket.nodeId)); info: ConnectionInfo(connackPacket.nodeId));
// Future.delayed(Duration(seconds: 1), () {
// });
try { try {
WKIM.shared.conversationManager.setSyncConversation(() { WKIM.shared.conversationManager.setSyncConversation(() {
setConnectionStatus(WKConnectStatus.syncCompleted); setConnectionStatus(WKConnectStatus.syncCompleted);

View File

@ -53,6 +53,7 @@ class MyWKSocket implements MyWkSocketBase {
try { try {
if (_socket != null) { if (_socket != null) {
_socket?.add(data); // 使 _socket?.add(data); // 使
return _socket?.flush();
} }
} catch (e) { } catch (e) {
Logs.debug('发送消息错误$e'); Logs.debug('发送消息错误$e');