2016-07-06 26 views
0

我有一個使用NodeJS,Express和MongoDB的Web應用程序。在我的應用程序中,我有一個觀點,任何訪問應用程序的人都可以看到。該視圖使用不同的圖像呈現,具體取決於用戶選擇查看哪個視圖(它們不需要登錄),即視圖是mapView/mapId。使用socket.io發送數據到特定的視圖/ ID

現在,我希望類似於通知的內容能夠實時發佈給那些位於該頁面上的通知。當某個特定事件從外部來源發生時,我想在該事件所屬的視圖上顯示一個彈出窗口。所以事件可能只屬於一個mapView/mapId,而不是另一個具有不同ID的mapView。同一個mapView/mapId上的所有用戶都應該看到通知。請記住,這些是不需要登錄的普通用戶。

我正在研究Socket.io,因爲我知道它是用於製作實時應用程序的。但我想知道這是否是正確的選擇。我將如何發送數據到正確的mapView/mapId?

+0

您可以請包括您正在遇到的具體問題的代碼示例?如果沒有特定的代碼,這個問題很難回答。 –

回答

1

查看您所在server can do with rooms

的想法是什麼,你的每一個連接的,從一個特定的觀點,加入到房間。然後你使用服務器上的socket.io發送消息給那個房間。只有那些插座才能得到信息。

+0

酷!當你說特定的觀點。 mapView/12345是與mapView/6789不同的視圖嗎?對不起,我是這個新手。 – unconditionalcoder

+0

沒錯。你可以爲每個人創造一個不同的房間。一個服務器,當你知道連接在該視圖中時,服務器將該套接字訂閱到socket.join('12345')'室。當用戶改變視圖時,你的服務器需要'socket.leave'('12345''那個房間,'.join'這個新的。 – clay

相關問題