可以缩短这个简单的插座房间代码吗?

时间:2016-09-30 22:12:40

标签: node.js socket.io

我将使用socket.io创建一个多人游戏迷你游戏,节点并作为前端做出反应。我让房间逻辑工作,但我不确定这是否是最好的方式,特别是在玩家加入房间的一侧。这是我的代码,任何可以帮助我改善这一点的提示都非常感谢,ty!

///我们将从我们创建房间的客户开始

add() {
        socket.emit('create')
        this.setState({mode: 'player'}) //ignore this, part of react 
    }

///现在在服务器上我们得到了这个

socket.on('create', () => {
        socket.join(socket.id);
        io.in(socket.id).emit('join', 'U are in the room!')
        rooms.push(socket.id)   //ignore this
        socket.broadcast.emit('created', socket.id) ///ignore this
    })

//最后回到客户端,进行简单的检查

socket.on('join', data => alert(data))

所以我们基本上创建并加入了房间,现在是另一个玩家试图加入房间的部分。

///在客户端我们加入房间(点击e.target.value =房间名称的按钮)

join(e) {
        socket.emit('joined', e.target.value) //e.target.value == a room name
    }

//现在回到服务器

socket.on('joined', data => {
        socket.join(data) //we got the player in the room!
        io.in(data).emit('joined', 'Hello man, Im new here!') //do I really need this part?
    })

//最后是客户端

socket.on('joined', (data) => {alert(data)}) //do I need this as well?

这是我的房间逻辑,我不确定的部分是当玩家试图加入房间时的第二个部分,我担心它可能是不必要的代码,因为我需要连接只插入服务器上的房间,事件将从创建者socket.on ...

中发出

0 个答案:

没有答案