initializeSocket static method
dynamic
initializeSocket({
- dynamic initListeners({
- required void on(
- String event,
- dynamic (
- dynamic data
- required Socket socket,
- required void on(
Implementation
static initializeSocket({Function({required Socket socket, required void Function(String event, Function(dynamic data)) on,})? initListeners}) async {
if (_socket?.connected == true) {
_socket?.disconnect();
}
final token = await UFUtils.preferences.readAuthToken();
_socket = io(
UFUtils.socketBaseUrl,
OptionBuilder()
.setTransports(['websocket'])
.enableReconnection()
.enableForceNew()
.setExtraHeaders({'token': token})
.setQuery({'EIO': '4', 'transport': 'websocket'})
.build()
);
// Add logging interceptor
interceptors.add(SocketLoggingInterceptor());
setDefaultListeners();
listenErrorEvents();
debugPrint("Connecting socket...");
_socket!.connect();
initListeners?.call(socket: _socket!, on: on,);
}