El cliente Socket.io no se vuelve a conectar al server después de una desconnection abrupta

Estoy usando la biblioteca del server socket.io NodeJs y la biblioteca del cliente Swift. La mayoría de las veces el cliente vuelve a conectarse con éxito al server después de una desconnection, aunque de manera intermitente estamos viendo desconexiones abruptas y el cliente nunca puede volver a conectarse.

En los loggings del server, veo al cliente enviando un bash de connection en el intervalo de repetición definido, sin embargo, nunca establece satisfactoriamente la connection y luego obtenemos un ping timeout .

Sorprendentemente, hay muy poco soporte para Socket.io que hace que esto sea extremadamente difícil de resolver.

Me di count de una solución a nuestro problema al forzar un nuevo motor para ser creado en el cliente en las reconexiones. Al crear el object SocketIOClient , configure la variable forceNew en true que le permite al cliente crear un nuevo motor y, por lo tanto, siempre establece satisfactoriamente la connection.

 return SocketIOClient(socketURL: socketURL, config: [.forceNew(true)])