2017-06-13 23 views
0

我从node.js和socket.io开始。套房io房间automaticaly销毁如果是空的?

我有2个问题: - 当一个房间是空的时候,它会自动删除重新启动吗? ,如果它不是自动销毁的,它会占用服务器上的很多资源吗?

  • 在服务器端。它是应该传输数据的io服务器还是连接的套接字?

    socket.emit('doSomething'); 或 io.emit('doSomething');

回答

0

房间自动从阵列中移除,nodeJSs的V8垃圾收集器完成了从ram中完全移除房间的工作。你不必担心这一点。请记住,所有用户在加入服务器时都会自动进入房间(socket.id命名空间)。 io.emit应在您希望将消息从服​​务器发送给任何人时使用,当您只想将消息发送给发件人时应使用socket.emit。更多信息可以在这个答案找到:https://stackoverflow.com/a/40829919/7868639

+0

感谢您对房间使用的澄清,很好地解释! 但你告诉我只在服务器端使用io.emit,但是在你有“socket.to('游戏')的链接中。emit('message','享受游戏');”但是当我在客户端做到这一点时,它说它不是一个函数......而在服务器端,这工作正常。 – lolplayer101

+0

我离开的链接显示了从服务器到客户端进行通信的所有可用方式。对于socket.something和io.something都有用处。这没有错。在客户端,你总是使用socket.emit – itsundefined