2017-06-09 31 views
0

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

这是我会怎么设计我的应用程序:

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

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

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

但随后,它将如何在工作socket.io服务器?你能指导我一点吗?

谢谢!

回答

0

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

看到这个:Creating Rooms in Socket.io