startKeepAlive method

  1. @override
void startKeepAlive()

Starts periodic keep-alive sending.

Implementation

@override
void startKeepAlive() {
  if (keepAliveTimer != null && keepAliveTimer!.isActive) {
    return; // Already running
  }
  keepAliveTimer = KeepAliveTimer.periodic(
    Duration(seconds: keepAliveSeconds),
    (_) {
      try {
        keepAlive();
      } catch (e, stackTrace) {
        // Log error but don't crash the timer
        // In production, use a proper logger
        print('Error in keep-alive callback: $e\n$stackTrace');
        // Optionally close the connection on repeated errors
      }
    },
  );
}