我在Node.js写了一个聊天程序。服务器使用对象RoomManager
管理名为this.rooms
的类中的房间列表。无论何时从客户端向服务器发送命令,它都会进入路由器。大多数命令处理房间(向房间发送消息,加入房间,创建房间......)。命令消息必须始终包含房间ID。服务器必须首先尝试找到房间:
roomManagerGetRoom(roomName){
return this.rooms[roomName] || null;
}
由于rooms
对象最终会变大,我认为客户端应该自己引用它们所在的房间。这样,服务器可以首先尝试从客户端自己的列表中找到房间。会更小,平均1-4个房间。
但是,这会创建一个循环循环
RoomManager
要求Room
要求ClientManager
要求Client
要求RoomManager
要求Room
要求ClientManager
要求Client
...
所以1.5问题:
Client
自己的列表,我会获得多少速度?
如果它很重要,我该如何避免周期性问题?