[英]Socket.io with Node.js
我正在使用 Socket.io 和 express 制作一個 Web 應用程序。
我想向所有客戶端發送數據,所有客戶端都可以編輯/更新該數據,並且更新后的數據將實時更新(對於所有客戶端)。
在不刪除和更新整個數據的情況下,這可能嗎? 如果新用戶加入房間並且我想顯示與其他客戶端相同的數據怎么辦
在不刪除和更新整個數據的情況下,這可能嗎?
對的,這是可能的。
Socket.io 只是一種傳輸方式,可讓您在客戶端和服務器之間發送數據。 使用代碼,例如:
io.emit('someMsg', someData)
您可以向連接到默認命名空間的所有客戶端廣播數據。
如果您想向每個連接的客戶端發送增量更新,那么您必須在服務器上生成增量數據,將其放入一個對象或數組中,然后將其廣播給您的客戶端。
然后由客戶端自己來接收該數據,處理它並更新他們自己的客戶端顯示 - 大概是通過更改 DOM 來插入、刪除或修改屏幕上的數據。
node.js、socket.io 或 express 都沒有任何用於創建增量數據包或更新顯示的內置機制。 這取決於你。
如果新用戶加入房間並且我想顯示與其他客戶端相同的數據怎么辦
通常,服務器有責任知道如何為任何進入的新用戶生成當前數據集。 它可能能夠通過一些查詢集從頭開始執行此操作,或者可能必須積累隨着時間的推移構建的數據,以便將其發送給任何新用戶(甚至任何剛剛點擊刷新的現有用戶)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.