2016-07-27 75 views
1

對於socket.io,我還算是個新手。
我通過他們的文檔頁面和一些帖子在這裏,但我堅持我的方法。我正在計劃一個測驗應用程序,管理員可以爲每個主題創建動態空間,並且用戶可以加入。管理員將發佈問題,用戶在PDA鎖定答案選項卡之前獲得10秒的回答。管理員稍後會通過管理員CP發佈答案。Socket.io保存動態會議室並保持客戶端連接節點JS

現在我的問題。
1.我們可以從管理面板創建動態房間,並將房間名稱存儲在數據庫中,以便客戶以後可以加入同一個房間?
2.我如何保持客戶端連接,直到答案稍後發佈?沒有客戶端斷開連接。 //類似whatsapp組
3.即使客戶端斷開連接,我可以使用存儲在數據庫中的房間元數據加入客戶端嗎?
4.如果10個客戶端回答我的問題,服務器可以解析他們的數據並將他們的ID存儲在數據庫中嗎?

欣賞這方面的任何幫助。我不知道如何去做這件事。我跟着很多教程,但未能實現我所需要的。很抱歉的冗長的職位,但任何線索肯定會幫我
TIA

回答

2
  1. ,我們可以創建一個從管理面板動態客房,並在數據庫中存儲的房間名稱,以便客戶可以在以後加入同一個房間?

是的,你可以。

  1. 我該如何保持客戶端連接,直到答案稍後發佈?沒有客戶端斷開連接。 //東西 例如WhatsApp組

Socket.io自動保持連接,只要活着,原始頁面是在瀏覽器中活着。如果連接丟失,它將重新連接。如果用戶轉到另一個沒有socket.io代碼的頁面,那麼將沒有連接。當客戶端通過socket.io連接時,連接在給定頁面中建立。只要用戶在您的網站上,您可以讓所有頁面通過socket.io連接,如果您始終想要建立連接。

  • 即使客戶端斷開連接,我可以加入客戶提供存儲在DB房間元數據?
  • 如果客戶端不再連接到您的網站,那麼有沒有什麼給你做,你沒有任何與該用戶進行通信的能力。連接是客戶驅動的事情。客戶端必須建立到您的服務器的連接。當客戶端重新連接時,您可以查看其在數據庫中的狀態以重新連接到某些房間,或查看他們在斷開連接時可能錯過的任何消息,並將這些消息發送到新重新連接的客戶端。但是,這取決於您存儲該信息並知道如何查詢它以獲取正確的信息以發送新連接的客戶端。

  • 如果10個客戶端回答我的問題,可以在服務器解析他們的數據,並將其與自己的數據庫中存儲ID?
  • 是的,你可以編寫代碼來做到這一點。

    +0

    謝謝@ jfriend00。我可以爲動態套接字提供一些示例代碼作爲線索嗎?我搜索,但無法找到適合我的要求的代碼。任何教程也可以。謝謝。 – Pavan

    +0

    @Pavan - 我不確定我是否知道「動態套接字」的含義。 – jfriend00

    +0

    我的意思是,只要服務器在特定主題上創建一個新房間,例如地理位置或動物。應該爲用戶創建一個新的套接字或房間,並將其存儲在數據庫中。我的休息API將顯示應用程序中的所有房間ID,以便用戶可以點擊並加入房間並開始發射事件。 – Pavan

    相關問題