Hola, voy a implementar una lista de proyectos con socket.io donde cualquier cliente puede actualizarla.
Por ejemplo, supongamos que está en ese formato.
list 1 list 2 ... list 10k Un cliente puede agregar una lista, por ejemplo, la list 2.1 , se almacenará en la base de datos y se transmitirá a otros clientes, y para mayor eficiencia, solo transmitiremos la list 2.1 . El programa JavaScript para todos los clientes lo insertará en la posición correcta una vez que lo reciba, por lo que ahora la lista para todos los participantes se convierte en:
list 1 list 2 list 2.1 ... list 10k Digamos ahora que el cliente A y el cliente B están tentativamente desconectados de Internet. Y la list 2.2 y la list 2.3 son enviadas por otros clientes, y el cliente A y el cliente B las pierden. Después de eso, el cliente A y el cliente B regresan y reciben una nueva list 2.4 . Su lista se convierte
list 1 list 2 list 2.1 list 2.4 ... list 10k lo cual es incorrecto (falta la list 2.2 y la list 2.3 ). ¿Cómo manejamos este problema en el código de interfaz o de fondo (estoy usando next.js y node.js)? (Una posible solución, por supuesto, es recuperar datos nuevamente de la base de datos, pero ¿cómo sabemos si los clientes se perdieron algún listado?)