簡體   English   中英

Socket.io 與 Node.js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM