2015-12-01 60 views
0

我要上Web應用程序(自耕農)我的套接字連接(socket.io)具有以下功能:變化Socket.io命名空間

當非登錄用戶訪問網絡應用程序。客戶端套接字的默認設置是偵聽'/ welcome'命名空間。當用戶登錄webapp時,客戶端套接字將更改爲偵聽另一個名稱空間('/ home')。然後,當用戶註銷時,客戶端套接字將改回回聽'/ welcome'命名空間。

庫:

插座:socket.io

自耕農:yeoman-angular-fullstack

+0

您是否在本使用案例的socket.io中嘗試過「房間」概念? –

+0

房間不能有個人認證設置 –

回答

0

我這樣做的:在(在服務器端通過中間件)呈現一定的模板我

  1. 傳遞一個額外的參數來查看,如isLoggedIn,當然它true當用戶登錄時。

  2. 內部視圖模板我創建一個隱藏的dom元素並賦值給它'isLoggedIn'值。

  3. 在websocket連接之前內部客戶端的js文件我讀p2隱藏DOM值來理解接下來我要做的事情。 P2 & p3不幸的是,我知道在客戶端傳遞給View的通常爲JavaScript變量賦值的唯一方法。當然,你可以通過API調用,但是無論如何。

  4. 根據此變量,通過簡單的if語句連接到/welcome/home