2017-06-09 33 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