connect method
void
connect()
Implementation
void connect() {
if (_channel != null) return;
_manuallyClosed = false;
String token = Cnt.token;
if (token.startsWith('Bearer ')) {
token = token.substring(7);
}
final url = '${ApiConstants.socketUrl}?token=$token&module=las';
debugPrint('🔌 Skt.connect() URL: $url');
debugPrint('🔑 Skt.connect() Token from Cnt: $token');
try {
_channel = WebSocketChannel.connect(Uri.parse(url));
_subscription = _channel!.stream.listen(
(data) {
_reconnectAttempts = 0;
_socketCtrl.add(data);
},
onError: (error) {
debugPrint('❌ Skt.connect() onError: $error');
_handleDisconnect();
},
onDone: () {
debugPrint('🔌 Skt.connect() onDone called. Code: ${_channel?.closeCode}, Reason: ${_channel?.closeReason}');
_handleDisconnect();
},
cancelOnError: true,
);
} catch (e) {
debugPrint('❌ Skt.connect() exception during connect: $e');
}
}