gpt4 book ai didi

javascript - Socket.io - 套接字分成房间

转载 作者:行者123 更新时间:2023-12-03 04:40:14 25 4
gpt4 key购买 nike

我正在尝试创建一个多人游戏,为每个连接的两个 socket 创建新房间。我该怎么做呢?有人可以举个例子吗?

最佳答案

您可以使用以下示例作为起点

const io = require('socket.io')()

/* room to join next connected socket */
let prevRoom = null

io.on('connection', socket => {
let room

if (prevRoom == null) {
/* create new room if there is no room with one player */
room = Math.random().toString(36).slice(2)
prevRoom = room
} else {
/* join existing room with one player and mark that it is now complete */
room = prevRoom
prevRoom = null
}

socket.join(room)

/* send message from one socket in this room to another */
socket.on('message', data => {
socket.broadcast.to(room).emit('message', data)
})
})

io.listen(3000)

此示例的问题在于,如果房间中的一名玩家离开游戏,另一名玩家将保持单独状态,直到他或她刷新页面。根据应用程序,您可能需要在此处添加一些逻辑。

关于javascript - Socket.io - 套接字分成房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43124076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com