connect method

void connect({
  1. required String socketUrl,
  2. required int appId,
  3. required dynamic onNewMessage(
    1. Map<String, dynamic>
    ),
})

Implementation

void connect({
  required String socketUrl,
  required int appId,
  required Function(Map<String, dynamic>) onNewMessage,
}) {
  if (_socket != null) return;

  _socket = socket_io.io(
    socketUrl,
    socket_io.OptionBuilder().setTransports(['websocket']).setExtraHeaders({
      'appid': '$appId',
    }).build(),
  );

  _socket!.onConnect((_) {
    _socket!.emit('join-app', appId);
    debugPrint('Socket connection');
  });

  _socket!.on('NewMessage', (data) {
    if (data is Map<String, dynamic>) {
      onNewMessage(data);
    }
  });

  _socket!.onDisconnect((_) {
    debugPrint('Socket disconnected');
  });

  _socket!.onConnectError((err) {
    debugPrint('Socket connection error: $err');
  });
}