Socket.io 使用套接字IO保存数据的最佳方法

Socket.io 使用套接字IO保存数据的最佳方法,socket.io,Socket.io,我正在学习如何使用Socket.IO,我正在制作一个小游戏 当有人创建房间时,我将房间值保存在数组中 var clients = [], rooms = []; ... rooms.push(JSON.parse(roomData)); 但如果服务器崩溃,服务器将丢失所有房间数据 将数据保存到数据库中,并在用户连接到服务器时使用这些值重新填充阵列是一个好主意吗 谢谢。在服务器崩溃后恢复socket.io连接状态是一个复杂的主题,这在很大程度上取决于您正在执行的操作和状态。有时客户端可以保存大部

我正在学习如何使用Socket.IO,我正在制作一个小游戏

当有人创建房间时,我将房间值保存在数组中

var clients = [], rooms = [];
...
rooms.push(JSON.parse(roomData));
但如果服务器崩溃,服务器将丢失所有房间数据

将数据保存到数据库中,并在用户连接到服务器时使用这些值重新填充阵列是一个好主意吗


谢谢。

在服务器崩溃后恢复socket.io连接状态是一个复杂的主题,这在很大程度上取决于您正在执行的操作和状态。有时客户端可以保存大部分状态,有时必须在服务器上持久化

状态可以存储到磁盘、另一个内存进程(如redis)或客户端,并在重新连接时显示

您只需在服务器上设计一系列事件,然后在客户端重新连接时确定所有内容的恢复方式。您可能还需要持久的客户端ID,以便在重新连接时知道哪个客户端是哪个客户端


有很多不同的方法可以做到这一点。所以,是的,你可以使用DB,也可以用另一种方式。没有单一的“最佳”方法,因为它取决于您的特定环境和您正在使用的工具。

在服务器崩溃后恢复socket.io连接状态是一个复杂的主题。状态可以存储到磁盘,存储到另一个内存进程(如redis)或客户端,并在它们重新连接时显示,您只需设计在服务器重新启动和客户端重新连接时如何恢复所有内容。有多种方法可以做到这一点。所以,是的,你可以使用DB,也可以用另一种方式。