我在服务器端使用 ws 包,我希望客户端在服务器套接字中创建/加入房间。并在它们不再连接时将它们从创建的房间中移除。 PS:我不想使用socketIo。
原文由 Mbula Mboma Jean gilbert 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在服务器端使用 ws 包,我希望客户端在服务器套接字中创建/加入房间。并在它们不再连接时将它们从创建的房间中移除。 PS:我不想使用socketIo。
原文由 Mbula Mboma Jean gilbert 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用套接字或不使用套接字以这种方式创建用户和房间
const users = [];//It can be collection(noSQL) or table(SQL)
const addUser = ({ id, name, room }) => {
name = name.trim().toLowerCase();
room = room.trim().toLowerCase();
const existingUser = users.find((user) => user.room === room && user.name === name);
if(!name || !room) return { error: 'Username and room are required.' };
if(existingUser) return { error: 'Username is taken.' };
const user = { id, name, room };
users.push(user);
return { user };
}
原文由 Talha Noyon 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
你可以尝试这样的事情:
这只是一个草图:您需要处理离开房间、断开与客户端的连接(离开所有房间)以及当没有人在时删除房间。