Abdul Manan
ยทDeveloper

Custom Action Web Socket connection IO.Socket

import 'package:firebase_auth/firebase_auth.dart';
import 'package:socket_io_client/socket_io_client.dart' as IO;

Future initSocketConnection(
  String endpoint,
  String userToken,
  Future Function() callbackAction,
) async {
  // Add your function code here!

  final headers = {'Authorization': "Bearer ${userToken}"};
  IO.Socket? socket =
      IO.io(Uri.parse(FFAppConstants.BaseUrl).toString(), <String, dynamic>{
    'transports': ['websocket'],
    'autoConnect': false,
    'extraHeaders': headers,
    'forceNew': true,
  });

  FFAppState().mainSocket = socket;

  socket.connect();

  socket.onConnect((_) {
    print('connected to socket');
    var body = {};
    socket.emit('connect_user', body);
  });

  socket.onDisconnect((_) {
    print('Disconnected to Socket.IO server!');
  });

  listenConnectUser(socket);
}

//...................................
void listenConnectUser(IO.Socket socket) {
  // Subscribe to any events you want to listen to from the server
  socket?.on("connect_user", (data) {
    print(data);
  });
}
4
9 replies