使用Socket.io连接到随机用户

时间:2017-06-09 08:43:22

标签: node.js sockets socket.io

我正在使用ionic 2构建一个app来学习如何使用Socket.io创建一个实时的应用程序。我已经了解了Socket.io如何工作的基础,但我试图了解如何让用户随机连接到另一个用户。

以下是我设计应用的方式:

  • 用户将在其屏幕上显示“启动游戏”按钮
  • 单击此按钮后,应将两个用户随机连接在一起。事实上,如果用户1点击“启动游戏”按钮,则会在20秒内显示新的等待屏幕。在这20秒内,我应该连接到另一个在世界其他地方等待同一屏幕的用户。

我的想法是当用户点击“启动游戏”按钮时向Socket.io服务器发送一个事件,如:

this.socket.emit('find_player', this.current_user_id);

但是,它如何在socket.io服务器中运行?你可以指导我一点吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你不能用socket.io直接连接两个用户。使用NodeJs服务器作为中间人。如果一个玩家点击“启动游戏”,你可以创建一个大厅/房间...... 这可以帮助您在同一级别(或某事物)上配对您的玩家。 所以:如果一个玩家单击“启动游戏”,尝试找到一个具有相同级别的玩家的服务器机房。如果它不存在,创建一个新的让他等待新的对手。 尝试使用房间的对象数组,其中每个房间都有链接到玩家。

请参阅:Creating Rooms in Socket.io